前言

因为我写了一个开源的管理系统,为了搭配小程序使用所以得给服务器配置域名和HTTPS。
在这里默认大家已经申请好了域名,并且已经配置好了DNSPod解析地址。(如果不会请自行百度)
注意:配置HTTPS前,请先将域名通过备案审核否则https无法通过外部IP访问。

一、进入域名管理

如果使用的腾讯云,[点击这里](https://console.cloud.tencent.com/domain)可以查看自己的域名状态;
点击箭头所指的解析按钮,进入DNSPod解析页面。

nodejs axios 证书忽略 nodejs ssl_https

红色框中的解析地址请自行配置,在这里不做详细介绍。正确配置DNSPod解析后,点击任意一个SSL按钮,进入SSL证书页面。

nodejs axios 证书忽略 nodejs ssl_ssl_02

二、申请SSL证书

点击我的证书,免费申请证书,选择免费版证书。

nodejs axios 证书忽略 nodejs ssl_node.js_03

nodejs axios 证书忽略 nodejs ssl_https_04


填写申请的域名和邮箱,选择自动添加DNS验证

nodejs axios 证书忽略 nodejs ssl_ssl_05


nodejs axios 证书忽略 nodejs ssl_SSL_06


如果DNS解析正常,则直接点击查看域名验证状态,验证通过之后等待几分钟机构签发证书。(DNS解析参考图二)

nodejs axios 证书忽略 nodejs ssl_nodejs axios 证书忽略_07

三、下载证书

证书签发通过之后,可以看到证书多了一条记录,点击下载。

nodejs axios 证书忽略 nodejs ssl_node.js_08


使用Nginx做转发,所以下载Nginx版本。

nodejs axios 证书忽略 nodejs ssl_nodejs axios 证书忽略_09


压缩包解压之后,会得到四个文件,我们使用 .key 和 .crt结尾的文件。(不同的域名,下载下来的myWebsite会不同)

nodejs axios 证书忽略 nodejs ssl_https_10

四、配置SSL证书

配置SSL证书可以参考腾讯的Nginx 服务器 SSL 证书安装部署

  • 将解压后文件拷贝到 nginx根目录下的conf文件夹下的 ssl,如果没有ssl文件夹,请自行创建。
  • 编辑nginx.conf内容:
server {
    	# 由于版本问题,配置文件可能存在不同的写法。
    	# 例如:Nginx 版本为 nginx/1.15.0 以上使用 listen 443 ssl 代替 listen 443 和 ssl on。
        listen       443 ssl;
        # server_name  替换成自己的域名
        server_name  www.ktkyio.xyz ktkyio.xyz;
		
		# 因为地址默认到nginx.conf同级目录,所以直接使用 ssl/文件名
		# 注意:ssl 文件夹前不要加 /或者./ !!!
        ssl_certificate      ssl/myWebsite.crt;
        ssl_certificate_key  ssl/myWebsite.key;

        ssl_session_timeout 5m;
        # 请按照以下协议配置
        ssl_protocols TLSv1.2 TLSv1.3; 
        # 请按照以下套件配置,配置加密套件,写法遵循 openssl 标准。
        ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:HIGH:!aNULL:!MD5:!RC4:!DHE; 
        ssl_prefer_server_ciphers on;
        
		# 转发的地址,根据自己具体情况配置。
		# 因为我的项目是node启动的服务所以使用ip+端口
        location /{
           proxy_pass  http://127.0.0.1:8099/;
        }
    }

    server {
        listen 80;
      	 #server_name  替换成自己的域名
        server_name www.ktkyio.xyz ktkyio.xyz;
        
		# 为了保证默认转发到htpps,所以在这里设置重定向
        return 301 https://$host$request_uri; 
    }
  • 保存,重启nginx,在地址栏 输入域名。