美文网首页
Nginx反向代理的路径问题

Nginx反向代理的路径问题

作者: 子达如何 | 来源:发表于2016-02-23 13:57 被阅读2982次

    Node.js的一个二维码生成的服务接口运行在本机http://localhost:3000/qrcode?text=abc
    一开始Nginx的反向代理配置如下:

        location /myapi {
            proxy_pass http://localhost:3000/;
            proxy_http_version 1.1;
            proxy_set_header Upgrade $http_upgrade;
            proxy_set_header Connection ‘upgrade’;
            proxy_set_header Host $host;
            proxy_cache_bypass $http_upgrade;
        }
    

    那么访问http://www.domain.com/myapi/qrcode?text=abc的时候
    Node.js拿到的访问路径是//qrcode?text=abc


    如果proxy_pass http://localhost:3000/;改成proxy_pass http://localhost:3000;
    那么Node.js拿到的访问路径又变成了:/myapi/qrcode?text=abc
    反正,怎么都不对。
    最后突然发现应该是这样子:

        location /myapi**/** {
            proxy_pass http://localhost:3000/;
            proxy_http_version 1.1;
            proxy_set_header Upgrade $http_upgrade;
            proxy_set_header Connection ‘upgrade’;
            proxy_set_header Host $host;
            proxy_cache_bypass $http_upgrade;
        }
    

    相关文章

      网友评论

          本文标题:Nginx反向代理的路径问题

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