Node支持https,通过nginx代理实现
有的项目上需要把node启的服务部署到https,这就需要node支持https。node里聊天功能使用到socket.io,对https的支持不那么友好。所以我们想通过nginx代理的方式,把http服务代理到https上,其实就是一个转换的过程,从而实现node启的服务支持https。
环境准备
- nginx包(项目上上用的版本是1.14.2,其它版本应该也可以)
- https服务器的安全证书,主要是用到秘钥和安全证书
- 新的端口号并且已映射,外网可访问
如何配置
-
把证书里的秘钥和安全证书放到nginx包里的conf文件夹下
-
修改conf文件夹下的nginx.conf文件,增加如下代码`#HTTPS server
server {
listen 666 ssl;
server_name dev.p3china.com;ssl_certificate 1_dev.p3china.com_bundle.crt;
ssl_certificate_key 2_dev.p3china.com.key;charset UTF-8;
ssl_session_cache shared:SSL:1m;
ssl_session_timeout 5m;location / {
proxy_http_version 1.1;
proxy_pass http://127.0.0.1:3001;
proxy_set_header Host server_port;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection “upgrade”;
}
}`
代码说明如下图所示
启动nginx服务
服务器创个文件夹放nginx包,
cmd 启动命令行,cd到nginx目录下
执行strat nginx,
再执行taskkill /f /t /im nginx.exe(终止进程),如下图所示
再次执行strat nginx就行。
如何在前端代码里引用
第一次写贴,见谅!点个赞吧!