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
相关推荐
hgdlip3 分钟前
查看ip地址的方法有几种?探索多样方法
运维·服务器·ip地址
丶213616 分钟前
【Nginx】在 Docker 上安装 Nginx 的详细指南
运维·nginx·docker
神即道 道法自然 如来32 分钟前
Jenkins怎么设置每日自动执行构建任务?
运维·jenkins
小黑爱编程39 分钟前
【LInux】HTTPS是如何实现安全传输的
linux·安全·https
hanniuniu131 小时前
详细解读,F5服务器负载均衡的技术优势
运维·服务器·负载均衡
鱼饼6号1 小时前
Prometheus 上手指南
linux·运维·centos·prometheus
m0_609000423 小时前
向日葵好用吗?4款稳定的远程控制软件推荐。
运维·服务器·网络·人工智能·远程工作
小安运维日记4 小时前
Linux云计算 |【第四阶段】NOSQL-DAY1
linux·运维·redis·sql·云计算·nosql
m0_741768857 小时前
使用docker的小例子
运维·docker·容器
学习3人组8 小时前
CentOS 中配置 OpenJDK以及多版本管理
linux·运维·centos