HTTPS配置入门:Nginx、Node.js配置HTTPS服务器

申请数字证书

首先需要申请一个免费的数字证书,前提是有个域名,申请起来还是很方便的。例如可以在腾讯云申请:https://www.qcloud.com/product/ssl,具体申请步骤请参考腾讯云文档,本文不再详细介绍。当然还有收费的数字证书,土豪随意。

数字证书申请成功后,下载下来,文件包含一个私钥(.key)和一个数字证书(.crt)。

申请证书时需要制定域名,例如我自己的域名是gw2.vsgames.cn,为了方便在本地上调试,需要配置HOSTS将域名映射到localhost:

127.0.0.1 gw2.vsgames.cn

这样本地启动服务,可以通过域名gw2.vsgames.cn在浏览器访问HTTPS网站。

接下来分别在Nginx和Node.js上试试HTTPS。

Nginx配置

server {
    listen              443 ssl;
    server_name         gw2.vsgames.cn;
    ssl_certificate     /Users/wucao/Desktop/gw2.vsgames.cn/Nginx/1_gw2.vsgames.cn_bundle.crt;  # 证书文件
    ssl_certificate_key /Users/wucao/Desktop/gw2.vsgames.cn/Nginx/2_gw2.vsgames.cn.key; # 私钥文件
    ssl_protocols       TLSv1 TLSv1.1 TLSv1.2;
    ssl_ciphers         HIGH:!aNULL:!MD5;
    location / {
        root /usr/share/nginx/html;
    }
}

配置好重启Nginx,试试:https://gw2.vsgames.cn/

Node.js配置

const https = require('https');
const fs = require('fs');

const options = {
  key: fs.readFileSync('/Users/wucao/Desktop/gw2.vsgames.cn/Nginx/2_gw2.vsgames.cn.key'),
  cert: fs.readFileSync('/Users/wucao/Desktop/gw2.vsgames.cn/Nginx/1_gw2.vsgames.cn_bundle.crt')
};

https.createServer(options, function(req, res) {
  res.statusCode = 200;
  res.setHeader('Content-Type', 'text/plain');
  res.end('Hello World\n');
}).listen(8000);

试试:https://gw2.vsgames.cn:8000/

HTTPS效果图

这里写图片描述

猜你喜欢

转载自blog.csdn.net/xiao__gui/article/details/56489922
今日推荐