Node支持https,通过nginx代理实现

时间:2024-04-08 15:19:27

Node支持https,通过nginx代理实现

有的项目上需要把node启的服务部署到https,这就需要node支持https。node里聊天功能使用到socket.io,对https的支持不那么友好。所以我们想通过nginx代理的方式,把http服务代理到https上,其实就是一个转换的过程,从而实现node启的服务支持https。

环境准备

  1. nginx包(项目上上用的版本是1.14.2,其它版本应该也可以)
  2. https服务器的安全证书,主要是用到秘钥和安全证书
  3. 新的端口号并且已映射,外网可访问

如何配置

  1. 把证书里的秘钥和安全证书放到nginx包里的conf文件夹下Node支持https,通过nginx代理实现

  2. 修改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 host:host:server_port;
    proxy_set_header Upgrade $http_upgrade;
    proxy_set_header Connection “upgrade”;
    }
    }`
    代码说明如下图所示
    Node支持https,通过nginx代理实现

启动nginx服务

服务器创个文件夹放nginx包,
cmd 启动命令行,cd到nginx目录下
执行strat nginx,
再执行taskkill /f /t /im nginx.exe(终止进程),如下图所示
Node支持https,通过nginx代理实现
再次执行strat nginx就行。

如何在前端代码里引用

Node支持https,通过nginx代理实现

第一次写贴,见谅!点个赞吧!
Node支持https,通过nginx代理实现