学习仍是工做中, 都有可能须要咱们把域名升级为HTTPS,html
好比, 你要使用开发微信公众, 小程序相关应用, 在初始化的时候, 就要求咱们填写HTTS的域名做为验证nginx
本文记录了一次HTTPS域名配置的完整过程小程序
话说HTTPS证书但是一笔不小的费用, 不少人倍感无力, 负担不起啊bash
阿里云提供了免费证书, 有效期一年, 文中证书就用的阿里云的 免费的证书还有Let's Encrypt, 也挺好申请服务器
下面主要记录白嫖阿里云证书, 以及证书配置过程微信
[toc]session
已申请了本身的域名运维
注册阿里云帐号学习
固然要有本身的服务器, 装一下 Nginx, 待会域名校验会用到搜索引擎
进入证书控制台, 点击证书申请, 填写信息
域名校验方式我选择的是 手动"文件校验"的方式,
若是你的服务器是阿里云的, 选择 "自动DNS验证"会很方便, 在这里我们就按照常规方式来, 也算了解一下运维过程
这里所谓
验证
, 其实就是经过上面的域名能访问到, 校验文件, 访问不到固然无法让你使用啦Nginx 配置这里可能要注意下, 也没什么难度
根据本身的服务器类型下载, 这里我们选择Nginx
我们把ssl证书放到/ssl
(目录随意吧), 把下载的证书文件解压以后, 上传到该目录
贴一下Nginx配置, 记得改完配置要重启Nginx哦
server {
#listen 80; #侦听80端口,若是强制全部的访问都必须是HTTPs的,这行须要注销掉
listen 443 ssl;
server_name xxx.com; #域名
# 增长ssl
#ssl on; #若是强制HTTPs访问,这行要打开
ssl_certificate /ssl/xxxx.pem;
ssl_certificate_key /ssl/xxxxx.key;
ssl_session_cache shared:SSL:1m;
ssl_session_timeout 5m;
# 指定密码为openssl支持的格式
ssl_protocols SSLv2 SSLv3 TLSv1.2;
ssl_ciphers HIGH:!aNULL:!MD5; # 密码加密方式
ssl_prefer_server_ciphers on; # 依赖SSLv3和TLSv1协议的服务器密码将优先于客户端密码
# 定义首页索引目录和名称
location / {
root /usr/share/nginx/html;
index index.html index.htm;
}
#重定向错误页面到 /50x.html
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root /usr/share/nginx/html;
}
}
复制代码
而后就能够愉快的访问体验HTTPS了
在配置过程当中, 可能会出现访问没反应, 等各类问题,
这时候, 不要慌, 我们有思路
此时必定要观察Nginx的 access.log 和 error.log, 从error.log 通常能找到有效信息, 能够拿到error关键字, 再取搜索引擎去分析解决
我刚才配置就失败了一次, Nginx配置完证书以后, 重启, 输入url访问未反应,
随即看下error.log,
2020/05/10 03:11:39 [emerg] 1#1: cannot load certificate "/ssl/xxx.key": PEM_read_bio_X509_AUX() failed (SSL: error:0909006C:PEM routines:get_name:no start line:Expecting: TRUSTED CERTIFICATE)
复制代码
带着关键字去搜索, 随便点进去一篇, 忽然注意点, 我证书配置对应错了, 哈哈, 尴尬
立刻改正, 重启, 验证有效, OK !