nginx proxy_pass与上游不工作,并给出404错误

时间:2019-04-16 20:40:56

标签: nginx iis url-rewriting rate-limiting

我已通过以下方式使用NGINX设置了IIS:

  

public_facing_IIS-> NGINX [速率限制]-> internal_IIS

用户点击公共网站URL,该URL将请求转发到NGINX,然后将其转发到内部IIS服务器。该链的原因是,我需要将NGINX的hits限制为internal_IIS的特定数字-我不希望在公共URL端进行速率限制。这样做在通过代理设置上游时,出现404错误。

因此,该方法适用于面向公众的IIS网站上的任何链接,但是一旦进入/ Billing /路径,就会收到404错误

http{

    upstream myupstream {
            server internal.IISwebsite:80;
    }


  server {
        listen       81;
        server_name  internal.nginx;

        location / {
            proxy_pass http://internal.IISwebsite;
        }

        location /Billing/ {
            limit_req zone=mylimit burst=20;

            proxy_set_header Host $host;
            proxy_pass http://myupstream/;
        }
   }

}

即使绕过external_IIS URL并直接调用internal.nginx:81,我也尝试过此操作。对于http://internal.nginx:81上的所有其他网址,这一切都很好。我碰到http://internal.nginx:81/Billing/的那一刻是我收到http 404错误。

0 个答案:

没有答案