1.安装nginx
2.上传证书和密钥
证书申请:请参考 阿里云SSL证书申请,并下载证书和密钥文件。
将证书和密钥文件上传到服务器目录:/usr/local/nginx/conf/cert
3.nginx代理配置
此处以 http://www.abc.com为例
vi /usr/local/nginx/conf/nginx.conf
添加如下内容
server {
listen 443 ssl;
server_name www.abcd.com abcd.com; #需代理的域名
location / {
proxy_pass http://localhost:8080; #代理地址
}
ssl_certificate /usr/local/nginx/conf/cert/4009123_domainname.com.pem;
ssl_certificate_key /usr/local/nginx/conf/cert/4009123_domainname.com.key;
ssl_session_timeout 5m;
ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4;
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
ssl_prefer_server_ciphers on;
}
配置http自动跳转到https
server {
listen 80;
server_name www.abcd.com abcd.com; #需代理的域名
rewrite ^(.*)$ https://$host$1 permanent; #自动跳转至https
}
4.重启nginx
/usr/local/nginx/sbin/nginx -s reload
报错:the “ssl” parameter requires ngx_http_ssl_module
原因:nginx缺少http ssl模块
解决方案:重新编译nginx源码并安装。
5.重新编译安装
5.1 进入nginx 下载时的源码目录
cd /usr/local/src/nginx-1.17.8
5.2 配置
./configure --prefix=/usr/local/nginx --with-http_ssl_module
5.3 编译
make
(注:此处不用再 make install)
5.4 替换重新编译过的nginx执行文件
cp /usr/local/src/nginx-1.17.8/objs/nginx /usr/local/nginx/sbin/
6.重启nginx
/usr/local/nginx/sbin/nginx -s reload
搞定.jpg~!