环境准备

--查看是否安装了http_ssl_module模块
--如果没有显示--with-http_ssl_module模块 那就安装SSL模块
[root@linux /]# /usr/local/nginx/sbin/nginx -V
nginx version: nginx/1.18.0
built by gcc 4.8.5 20150623 (Red Hat 4.8.5-39) (GCC)
built with OpenSSL 1.0.2k-fips  26 Jan 2017
TLS SNI support enabled
configure arguments: --prefix=/usr/local/nginx --with-pcre --with-http_stub_status_module --with-http_gzip_static_module

安装SSL模块

--下载同样版本的安装包 http://nginx.org/
wget http://nginx.org/download/nginx-1.18.0.tar.gz

--解压安装包
tar zxf nginx-1.18.0.tar.gz
cd nginx-1.18.0

--重新编译模块
./configure --prefix=/usr/local/nginx --with-http_ssl_module --with-pcre --with-http_stub_status_module --with-http_gzip_static_module

--编译,千万不要执行make install命令,否则Nginx目录全部覆盖掉
make
执行完`make`命令后在Nginx解压目录下,objs文件夹中多了一个nginx的文件,这个就是新版本的程序了,然后把新的程序复制过去覆盖之前的即可
cp /usr/local/nginx/sbin/nginx{,.bak}  #先备份
cp objs/nginx /usr/local/nginx/sbin/nginx
--查看Nginx添加模块是否成功
[root@linux nginx-1.18.0]#  /usr/local/nginx/sbin/nginx -V
nginx version: nginx/1.18.0
built by gcc 4.8.5 20150623 (Red Hat 4.8.5-39) (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 --with-pcre --with-http_stub_status_module --with-http_gzip_static_module

申请Https证书

申请免费证书可以去 https://freessl.cn/
也可以去阿里云申请免费的ssl证书

请输入图片描述

请输入图片描述

上传ssl证书到服务器

请输入图片描述

编辑配置文件

upstream web{
  server 127.0.0.1:5212;
}

server {
  listen 443 ssl;
  server_name pan.endvv.com;
  ssl_certificate /usr/local/nginx/ssl/pan/a.pem;  #指定证书文件路径
  ssl_certificate_key /usr/local/nginx/ssl/pan/b.key;  #指定私钥文件路径
  ssl_protocols TLSv1 TLSv1.1 TLSv1.2;  #设置传输协议
  ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:HIGH:!aNULL:!MD5:!RC4:!DHE;   #设置加密数法 以 : 分隔,! 表示禁用

location / {
  proxy_pass http://web;
}
}
server {
  listen 80;
  server_name pan.endvv.com;
  rewrite ^(.*)$  https://$host$1 permanent;  #将http请求重定向到https请求
}

重载配置文件

nginx -s reload

请输入图片描述

其他

最后修改:2023 年 01 月 06 日
如果觉得我的文章对你有用,请随意赞赏