美文网首页Nginx
使用Nginx反向代理nodejs http和https

使用Nginx反向代理nodejs http和https

作者: RMITcoder | 来源:发表于2018-02-01 13:52 被阅读20次

    使用Nginx 反向代理Node , http 和 https

    测试环境在阿里云Ubuntu 16.04.3 LTS
    Nginx 版本 1.10.3

    Nginx 安装不说了。目录的话,Ubuntu 在 /etc/nginx下

    首先找到nginx.conf这货

    里面有一个http{。。。}
    长这样:

    sendfile on;
    tcp_nopush on;
    tcp_nodelay on;
    keepalive_timeout 65;
    types_hash_max_size 2048;
    server_tokens off;
    
    server_names_hash_bucket_size 64;
    server_name_in_redirect off;
    
    include /etc/nginx/mime.types;
    include /etc/nginx/vhost/*.conf;
    default_type application/octet-stream;
    # ssl on;
    #下面还好多不说了反正在这里这个ssl需要注释掉
    

    这时候在nginx 根目录下建立一个文件夹,我的叫vhost
    然后在nginx.conf 里面 include住,

        include /etc/nginx/vhost/*.conf;
    

    在这个文件夹下面建立一个xxx.conf 的配置文件即可

    里面内容如下

    upstream node1 {
      server [::]:3000;
      server 127.0.0.1:3000;
    }
    upstream node2 {
       server [::]:3001;
       server 127.0.0.1:3001;
    
    }
    underscores_in_headers on;
    
    
    map $http_my_header $pool{
        default "dev1";
        condition1 "node1";
        condition2 "node2";
    }
    server {
        listen 443;
        listen [::]:443 ipv6only=on;
        server_name xxxxxxxxxxxx;
        access_log /var/log/nginx/xxx.log;
        ssl on;
        ssl_certificate 你的证书;
        ssl_certificate_key 你的key
        ssl_session_timeout 5m;
        ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
        location / {
            proxy_pass http://$pool;
            proxy_set_header X-NginX-Proxy true;
        }
    
      }
    

    从上面的代码中我们可以看到我有2 个nodejs 的app
    其中一个分别监听3000 和3001 端口
    并且开启了ipv6的监听

    然后下面那个 underscores_in_headers 默认为off 意思就是如果你的头部有下划线就忽略掉,那么很显然我不想忽略所以设置成on
    接着我打算根据请求头来访问不同的nodejs 服务
    就是map开头的语句啦
    最后就是配置server 然后监听https的默认端口
    一切搞定之后
    输入 sudo nginx -t 测试一下,ok的话就可以 sudo _nginx -s reload 重启了。
    这个就是nginx 反向代理nodejs 以及根据不同请求头来代理不同nodejs 的简单示范,希望对你们有帮助。

    相关文章

      网友评论

        本文标题:使用Nginx反向代理nodejs http和https

        本文链接:https://www.haomeiwen.com/subject/vxbrzxtx.html