前言
在项目需要上线时,我们经常会遇到这样的需求,将http
的域名换成https
,或者当我们使用小程序开发时,只支持https
的请求方式,那么这个时候我们可能就得需要配置一下https
证书了,今天,我们就来看看如何配置https
证书,包括遇到的一些坑(南辕北辙搞了5个小时)
申请域名
申请域名很简单,大家可以直接去各大云厂商去申请即可,可以去万网上申请,现在域名注册的通道还是蛮多的,这里就不详细说了,申请自己想要的域名,支付了就可以。
解析域名
当域名申请完毕后,我们需要对该域名进行解析,我这里使用的是二级域名,解决方法也比较简单,如图所示,我们先进入域名列表,然后点击后面的【解析】
然后点击【添加记录】
接着我们需要将主机记录和记录类型填写上,点击【确定】即可。
申请SSL
证书
先找到我们添加的域名,然后后面有个【SSL】,点击即可。
大概等个10多分钟就差不多申请完毕,颁发下来了。
然后我们将证书下载到本地,在上传到服务器中的指定目录下,我这边上传到了/data/www/https/
目录下了。
放开443端口
切记,一定要放开443端口,一定要放开,一定要放开!!!
如果你是用宝塔部署的话,看看有没有开防火墙,若是开了,则先关闭掉,不然443
端口不管用,监听不到。
监听443端口的命令:
telnet ip 端口号
配置nginx
下面我们需要配置一下nginx
,配置信息关键部分如下:
##lifetree项目
server {
listen 80;
listen 443 ssl http2;
server_name 你的域名;
if ($server_port !~ 443){
rewrite ^(/.*)$ https://$host$1 permanent;
}
#证书地址
ssl_certificate /data/https/pem文件;
ssl_certificate_key /data/https/key文件;
ssl_prefer_server_ciphers on;
location / {
root /data/web/dist; ##前端vue文件路径
index index.html index.htm;
try_files $uri $uri/ /index.html;
}
location ^~ /admin/ {
proxy_pass http://xxx.xxx.xxx:9998/; ## 后端接口请求的地址
proxy_connect_timeout 300s;
proxy_send_timeout 300s;
proxy_read_timeout 300s;
}
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root html;
}
}
## server结束
然后就可以了,打工告成!!!
注意事项:
- 检查防火墙有没有关
- 检查443端口以及其他业务端口有没有放开
- 检查
ssl
证书是不是该域名下的 - 检查
nginx
中的配置,看看有没有错