nginx添加ssl证书,域名带https
0:在阿里云或其他渠道申请到免费ssl证书
填写好域名信息,点击右侧下载nginx的ssl证书,下好有两个文件。
1:部署到服务器中
进入nginx安装目录下
cd /usr/local/nginx/conf #进入Nginx默认安装目录。如果您修改过默认安装目录,请根据实际配置进行调整。
mkdir cert #创建证书目录,命名为cert。
将下好的两个证书文件放入cert目录中。
2:配置nginx
vim /usr/local/nginx/conf/nginx.conf
listen 443 ssl; #配置HTTPS的默认访问端口为443。 #如果未在此处配置HTTPS的默认访问端口,可能会造成Nginx无法启动。 #如果您使用Nginx 1.15.0及以上版本,请使用listen 443 ssl代替listen 443和ssl on。 server_name yourdomain.com; #需要将yourdomain.com替换成证书绑定的域名。 root html; index index.html index.htm; ssl_certificate cert/cert-file-name.pem; #需要将cert-file-name.pem替换成已上传的证书文件的名称。 ssl_certificate_key cert/cert-file-name.key; #需要将cert-file-name.key替换成已上传的证书私钥文件的名称。 ssl_session_timeout 5m; ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4; #表示使用的加密套件的类型。 ssl_protocols TLSv1.1 TLSv1.2 TLSv1.3; #表示使用的TLS协议的类型。 ssl_prefer_server_ciphers on;
下图为我的nginx配置供参考,
注意:若安装好之后,出现访问主页无问题,且在页面中跳转其他页面也没问题;但是刷新页面之后nginx报404时在配置中的localhost / 中需要使用error_page不能使用try_files
修改好之后wq保存退出
3:重启nginx之后报错
cd /usr/local/nginx/sbin #进入Nginx服务的可执行目录。
./nginx -s reload #重新载入配置文件。
出现the "ssl" parameter requires ngx_http_ssl_module
报错,需要重新编译加上--with-http_ssl_module
配置。
参考该文章:https://zhuanlan.zhihu.com/p/47928700
至此安装完成。主要就是nginx配置,按照我的配置来没啥大问题。