闵行手机网站建设,集团响应式网站建设,阿里云 搭建wordpress,九江网站建设服务文章目录 一、简介二、申请 ssl 证书三、下载 ssl 证书四、配置 nginx五、开放 443 端口六、常见问题解决(一)、配置后#xff0c;访问 https 无法连接成功(二) 证书配置成功#xff0c;但是访问 https 还是报不安全 总结参考资料 一、简介
相信大家都知道 https 是更加安全… 文章目录 一、简介二、申请 ssl 证书三、下载 ssl 证书四、配置 nginx五、开放 443 端口六、常见问题解决(一)、配置后访问 https 无法连接成功(二) 证书配置成功但是访问 https 还是报不安全 总结参考资料 一、简介
相信大家都知道 https 是更加安全的特别是一些网站有 https 的网站更能够让用户信任访问
接下来以我的个人网站 五岁小孩 (jxy.xj.cn) 为例子带大家一起从 0 到 1 配置网站 https
本次配置的
证书是 腾讯云免费证书、服务器也是腾讯云的、使用 docker 部署的 nginx
二、申请 ssl 证书
推荐使用云服务的免费 ssl 证书一般都会有免费额度本次使用的是腾讯云的 ssl 证书我的证书 - SSL 证书 - 控制台 (tencent.com) 提交申请后到 【我的证书】列表等待审核通过一般几分钟就审核通过了 三、下载 ssl 证书
等待证书审核通过之后就可以下载 ssl 证书到本地 四、配置 nginx
如果你的 nginx 和我一样是通过 docker 部署的那么在配置之前要先确认下容器有没有映射 443 端口如果不是 docker 部署则可以忽略这一步
使用 docker 命令查看
docker ps | grep nginx接下来就可以配置 nginx 了 首先将刚才下载的 ssl 压缩包上传到服务器解压到 nginx的配置目录 一般是上传在 nginx.conf 的同级目录下的 cert 目录如下图 注意证书一定要放在 nginx.conf 的同级目录下以免重启配置出现问题
修改 nginx 的配置
修改配置文件添加 443 代理
例子如下 server {listen 443 ssl; # 开启 443 代理监听server_name blog.jxy.xj.cn; # 证书绑定的域名ssl_certificate cert/blog.jxy.xj.cn_bundle.pem; # 证书 pem 位置ssl_certificate_key cert/blog.jxy.xj.cn.key; # 证书 key 位置ssl_session_cache shared:SSL:1m;ssl_session_timeout 5m;ssl_ciphers HIGH:!aNULL:!MD5;ssl_prefer_server_ciphers on;# 代理映射的服务我这里是代理了 443 到 本地的 30891按自己的配置 location / {proxy_pass http://127.0.0.1:30891;proxy_set_header Host $host;}}重启 nginx
重启前推荐 执行nginx -t命令检查配置文件是否有语法错误。如果没有错误执行nginx -s reload命令使配置生效。
我这里是使用 docker 部署所以我直接使用 docker restart nginx 重启
如果启动后有问题无法正常访问可以查看 nginx 的错误日志一般是位于 /var/log/nginx/error.log 查看具体原因
五、开放 443 端口
先看自己的防火墙状态如果是激活状态那就需要开放 443 端口
这一步请自行百度
基本上到这里之后直接访问就可以了五岁小孩 (jxy.xj.cn) 六、常见问题解决
(一)、配置后访问 https 无法连接成功
这种情况的排查思路 确认下自己的 nginx 的状态是否正常启动如果是 docker则使用 docker ps| grep nginx , 一般可能是因为配置写错了如证书的路径配错了导致 nginx 无法正常启动那么在查看 error.log 时就会出现错误 cannot load certificate /etc/nginx/cert/jxxxx: BIO_new_file() failed (SSL: error:02001002:system library:fopen:No such file or directory:fopen(/etc/nginx/cert/jxxxx,r) error:2006D080:BIO routines:BIO_new_file:no such file)此时就需要先确认配置是否正确可以使用 nginx -t 检查 还有一种可能是docker 部署但是没有映射 443端口 (二) 证书配置成功但是访问 https 还是报不安全
这种一般只有两种情况 证书和域名没对上比如证书绑定的A域名但是你在 nginx 配置的是 B 域名 证书过期
可以使用curl -vvv https://域名访问返回的证书是过期是否配置错误
如果出现Unable to communicate securely with peer: requested domain name does not match the server’s certificate
那就说明你的证书和域名没对上
总结
配置 ssl 证书还是很简单的
申请证书 - 下载证书 - 配置nginx - 重启 ngix
参考资料
如何给自己的网站添加 https