2016-04-26 203 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