2016-04-26 200 views
1
  1. 我创建了一个虚拟机,端口80打开并在其上安装了NGINX。
  2. 我创建了可以通过x1.azurewebsites.net和x2.azurewebsites.net

我配置了虚拟机充当负载平衡器,但重定向流量我得到以下时,被访问2个应用服务: https://i.gyazo.com/b94bed9c90d3b0f0c400c83f762f0544.png当通过NGINX重定向时,Azure应用服务获取错误404

我没有使用我自己的域名。有人知道这个问题可能是什么吗?

我得到了以下配置:

upstream backend { 
    server xx.azurewebsites.net; 
    server xxx.azurewebsites.net; 
} 

server { 
    listen 80 default_server; 
    listen [::]:80 default_server; 

    root /var/www/html; 

    server_name_; 

    location/{ 
    proxy_pass http://backend; 
    } 

} 
+0

你有没有设法解决这个问题? – AnujKu

回答

1

Azure的应用服务使用cookies的ARR(应用程序请求路由)。您必须确保您的NGinx反向代理配置将正确的cookie/header传递给您的Web应用程序。

另一种可能性(以确保行为来自ARR)是禁用它:https://azure.microsoft.com/en-us/blog/disabling-arrs-instance-affinity-in-windows-azure-web-sites/

+0

如果在nginx中定义了多个服务器,我怎样才能确保它传递正确的cookie/header? – Muki

+0

你可以通过你的nginx配置吗? (将代理设置为Web应用程序的服务器部分) –

+0

将配置添加到主帖子。 – Muki