1.CA或者阿里云申请免费SSL证书
2.下载SSL证书,获取pem,key文件
3.把pem,key文件上传至安装nginx的服务器
4.修改nginx的配置文件con/nginx.conf
#新增一组监听
server {
#ssl的代理端口
#listen 80;可以不写 https 访问的443默认会转发到80
listen 443 ssl;
#申请ssl证书绑定的域名或者服务器的ip
server_name xx.xx.xx.xx;
#ssl证书解压后文件在服务器的路径
ssl_certificate /usr/local/nginx/conf/sslfile/https_server.pem;
ssl_certificate_key /usr/local/nginx/conf/sslfile/https_server.key;
#ssl一些配置基本可复用
ssl_session_cache shared:SSL:1m;
ssl_session_timeout 5m;
ssl_protocolsTLSv1 TLSv1.1 TLSv1.2;
ssl_ciphers HIGH:!aNULL:!MD5;
ssl_prefer_server_ciphers on;
#规则匹配定位浏览器url
location/ {
#前端的代码或者静态资源等
root html;
index index.html index.htm;
}
5.重启后页面http://xx.xx.xx.xx,https://xx.xx.xx.xx查看是否能正常访问 点击高级
1.若测试页面,在html目前下echo'hello world' > index.html
2.建议多使用几台pc测试,我的电脑在试https时,显示无法访问,结果半天发现是自己浏览器配置问题
6.若需要一个nginx配置多个https
1.若是同一套证书,则直接拷贝上面配置,只修改443为其他端口即可,但是注意修改静态资源地址;
2.若不同证书,则修改对应sercer_name,以及key,pem文件的地址
7.问题:
注:若过程出现ssl的错误如:
nginx: [emerg] the "ssl"parameter requires ngx_http_ssl_module in /usr/local/nginx/conf/nginx.c
则参考https://www.cnblogs.com/ghjbk/p/6744131.html,开启nginx的ssl模块
若出现前端访问跨域问题,则修改网关配置或者参考
https://www.jianshu.com/p/91208b0827b0,修改nginx配置