centos 中:Nginx开启https和局域网访问配置

随着网络应用的普及,越来越多的服务和应用开始运行在互联网上。这些服务和应用需要保护用户数据的机密性、完整性和可用性。HTTPS作为一种可防止中间人攻击的加密通信协议,可以有效地保护用户数据的安全性和隐私性。同时,对于在局域网内部运行的服务和应用,也需要确保其安全性。因此,配置NGINX以支持HTTPS和局域网访问具有重要的实际意义。

一、安装Nginx

不需要使用上传的方法,可以通过先复制链接地址,然后通过wget命令进行下载:

cd /usr/local/src

wget http://nginx.org/download/nginx-1.24.0.tar.gz

注意当前目录

注意下/usr/local/src这个目录。

1.1、解压文件:

tar -zxvf nginx-1.22.1.tar.gz

1.2、编译安装Nginx:

因为是编译安装,所以需要安装编译器:

yum install -y gcc gcc-c++

1)安装Nginx的依赖包:

yum install -y pcre-devel openssl-devel

说明:pcre-devel 是为nginx模块,如rewrite提供正则表达式;

zlib-devel为Nginx模块如gzip提供数据压缩用的函数库;

openssl-devel:为Nginx模块如ssl提供密码算法,证书以及ssl协议等功能。

2)Nginx的编译安装:

添加www用户:

useradd -s /sbin/nologin -M www
./configure --prefix=/usr/local/nginx --with-http_ssl_module
./configure --prefix=/usr/local/nginx-1.24.0 --user=www --group=www --with-http_ssl_module --with-http_stub_status_module

说明:这个configure,我们添加了www用户,然后我们还增加了nginx状态的模块。监控的时候就能使用到。

说明:

./configure用于对即将安装的软件进行配置,检查当前环境是否满足安装软件的依赖关系。

configure是一个Shell脚本,执行它的作用是生成makefile文件。

[root@vm1 nginx-1.24.0]# file configure

configure: POSIX shell script, ASCII text executable

[root@vm1 nginx-1.24.0]#

--prefix是用于设置安装目录;

--with-http_ssl_module选项用于设置在Nginx中允许使用http_ssl_module模块的相关功能。

在目录中多了Makefile文件,这个文件会告诉我们怎么来编译nginx。

3)通过make命令编译安装nginx:

make && make install

make是编译,makeinstall是把生成的文件拷贝到指定的目录。

1.3、Nginx的启动与停止:

启动之前,我们一定要检测下配置文件是否正确。这是一个自己的习惯。

/usr/local/nginx/sbin/nginx -t

1)启动nginx:

/usr/local/nginx/sbin/nginx

启动命令:

cd /usr/local/nginx/sbin
 
./nginx

然后,我们可以看到有两个进程,一个是master进程,一个是worker进程。

打开的端口是80端口。

二、安装Openssl

1. 安装 OpenSSL:

 sudo yum install openssl

这将下载并安装 OpenSSL 软件包及其依赖项。

验证安装:安装完成后,执行以下命令来验证 OpenSSL 是否成功安装:

openssl version

如果成功安装,将看到 OpenSSL 的版本信息。

2:生成证书和私钥

  1. 生成私钥:打开命令提示符或终端窗口,执行以下命令以生成私钥文件:

    openssl genpkey -algorithm RSA -out private.key

上述命令将生成一个名为 "private.key" 的私钥文件,使用 RSA 算法。

  1. 生成证书签名请求(CSR):执行以下命令以生成证书签名请求文件:

    openssl req -new -key private.key -out csr.csr

上述命令将生成一个名为 "csr.csr" 的证书签名请求文件,其中包含了与私钥相对应的公钥以及其他证书请求相关的信息。在执行此命令时,您将被要求提供一些证书信息,例如国家/地区、组织名称、公共名称等。

  1. 自签名证书(可选):如果您希望生成自签名证书,可以使用以下命令:

    openssl x509 -req -in csr.csr -signkey private.key -out certificate.crt

上述命令将使用私钥对证书签名请求进行签名,并生成一个名为 "certificate.crt" 的自签名证书文件。

请注意,自签名证书不会得到受信任的第三方机构的认可。如果需要获得由受信任的证书颁发机构(CA)签名的证书,需要将证书签名请求文件(CSR)提交给 CA,并按照他们的指示进行后续操作。

3、nginx和openssl融合

将OpenSSL\bin下新生成的文件名为*.crt和*_nopass.key的两个文件,移动到nginx-1.7.1\conf文件夹下。

五、配置nginx.conf文件

找到nginx-1.7.1\conf下的nginx.conf文件编辑:

把HTTPS server注释部分释放出来,注意更改ssl_certificate和ssl_certificate_key对应的文件,其中名为*.crt和*_nopass.key的文件是上一步放到nginx-1.7.1\conf文件夹下的两个文件。

HTTPS server

server {

listen 443 ssl;

server_name localhost;

ssl_certificate *.crt;

ssl_certificate_key *_nopass.key;

ssl_session_cache shared:SSL:1m;

ssl_session_timeout 5m;

ssl_ciphers HIGH:!aNULL:!MD5;

ssl_prefer_server_ciphers on;

location / {

root html;

index index.html index.htm;

}

}

六、nginx局域网访问(可选)

如果要让nginx服务器能够通过局域网访问,则只需要在nginx-1.7.1\conf文件内容中,复制粘贴server内的内容,并且把server_name的"localhost"改为服务器所在主机的IP地址,重启nginx,即可。

七 查看服务状态

ps -A | grep nginx
相关推荐
勤奋的凯尔森同学1 小时前
webmin配置终端显示样式,模仿UbuntuDesktop终端
linux·运维·服务器·ubuntu·webmin
技术小齐5 小时前
网络运维学习笔记 016网工初级(HCIA-Datacom与CCNA-EI)PPP点对点协议和PPPoE以太网上的点对点协议(此处只讲华为)
运维·网络·学习
ITPUB-微风5 小时前
Service Mesh在爱奇艺的落地实践:架构、运维与扩展
运维·架构·service_mesh
落幕5 小时前
C语言-进程
linux·运维·服务器
chenbin5206 小时前
Jenkins 自动构建Job
运维·jenkins
java 凯6 小时前
Jenkins插件管理切换国内源地址
运维·jenkins
AI服务老曹6 小时前
运用先进的智能算法和优化模型,进行科学合理调度的智慧园区开源了
运维·人工智能·安全·开源·音视频
sszdzq7 小时前
Docker
运维·docker·容器
book01217 小时前
MySql数据库运维学习笔记
运维·数据库·mysql
bugtraq20218 小时前
XiaoMi Mi5(gemini) 刷入Ubuntu Touch 16.04——安卓手机刷入Linux
linux·运维·ubuntu