服务器之家:专注于服务器技术及软件下载分享
分类导航

云服务器|WEB服务器|FTP服务器|邮件服务器|虚拟主机|服务器安全|DNS服务器|服务器知识|Nginx|IIS|Tomcat|

服务器之家 - 服务器技术 - Nginx - Nginx配置ssl实现https的全过程记录

Nginx配置ssl实现https的全过程记录

2022-03-05 21:41邓邓子2021 Nginx

这篇文章主要给大家介绍了关于Nginx配置ssl实现https的相关资料,文章通过实例代码介绍的非常详细,对大家学习或者使用Nginx具有一定的参考学习价值,需要的朋友可以参考下

一、安装 Nginx ssl 模块

1.检查

检查是否已安装 ssl 模块:

?
1
2
cd /usr/local/nginx/sbin
./nginx -V
?
1
2
3
4
[root@server-c00ef8c3-710d-4708-9cde-2c864e7c03e2 sbin]# ./nginx -V
nginx version: nginx/1.21.4
built by gcc 4.8.5 20150623 (Red Hat 4.8.5-44) (GCC)
configure arguments: --prefix=/usr/local/nginx

如果没出现 configure arguments: --with-http_ssl_module 说明没有安装。

2.安装

?
1
2
3
4
cd /usr/local/nginx-1.21.4
./configure --prefix=/usr/local/nginx --with-http_ssl_module
make
cp ./objs/nginx /usr/local/nginx/sbin/

3.再次检查

再次检查是否已安装 ssl 模块:

?
1
2
cd /usr/local/nginx/sbin
./nginx -V
?
1
2
3
4
5
6
[root@server-c00ef8c3-710d-4708-9cde-2c864e7c03e2 sbin]# ./nginx -V
nginx version: nginx/1.21.4
built by gcc 4.8.5 20150623 (Red Hat 4.8.5-44) (GCC)
built with OpenSSL 1.0.2k-fips  26 Jan 2017
TLS SNI support enabled
configure arguments: --prefix=/usr/local/nginx --with-http_ssl_module

二、部署 ssl 证书

将申请好的 ssl 证书拷贝至 cert 目录下:

Nginx配置ssl实现https的全过程记录

三、配置 nginx.conf

?
1
2
cd /usr/local/nginx/conf
vi nginx.conf

新增 https server 配置:

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
#管理端https
server {
     listen 443 ssl;
     server_name admin-xxxxx.xxx.xxx;
     ssl_certificate ../cert/server.crt;
     ssl_certificate_key ../cert/server.key;
     ssl_session_timeout 5m;
     ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
     ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:HIGH:!aNULL:!MD5:!RC4:!DHE;
     ssl_prefer_server_ciphers on;
 
     location / {
         proxy_set_header X-Real-IP $remote_addr;
         proxy_set_header Host $http_host;
         proxy_pass http://localhost:10003;
     }
}

四、重启 Nginx

?
1
/usr/local/nginx/sbin/nginx -s reload

?
1
2
3
ps -ef|grep nginx
kill xxx
/usr/local/nginx/sbin/nginx

补充:如果 80 端口被占用,用kill [id]来结束进程:

?
1
2
# 查看端口使用
$ netstat -lntp

Active Internet connections (only servers)

Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name

tcp 0 0 0.0.0.0:80 0.0.0.0: LISTEN 21307/nginx: master

tcp 0 0 0.0.0.0:22 0.0.0.0: LISTEN 3072/sshd

tcp 0 0 0.0.0.0:443 0.0.0.0

延伸 · 阅读

精彩推荐