环境准备
--查看是否安装了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
其他