2015-07-21 117 views
1

我正在将NGINX Plus设置为Azure云解决方案中流量管理和路由的反向代理。Azure VM NGINX Plus + Web App导向404

我刚入门,一切都独立工作,但是当我尝试使用proxy_pass将网络流量路由到驻留在云中的.NET Web应用程序时,出现404错误。

我和我已经部署了一段时间(一个.NET MVC的Web应用程序),并且一个节点明确的应用程序,无非是基本产品作为测试更大的应用尝试: http://rpsexpressnodetest.azurewebsites.net/

当我直接进入它们时,这些运行按预期运行,但是当启用传递时,我得到一个404错误。

我使用nginx的下列配置文件:

user nginx; 
worker_processes auto; 

error_log /var/log/nginx/error.log notice; 
pid  /var/run/nginx.pid; 


events { 
    worker_connections 1024; 
} 

http { 
    upstream web_rps{ 
     server rpsexpressnodetest.azurewebsites.net; 
} 

# ssl_certificate /etc/nginx/ssl/server.crt; 
# ssl_certificate_key /etc/nginx/ssl/server.key; 

# drop requests with no Host header 
# server{ 
#  listen 80 default_server; 
#  server_name ""; 
#  return 444; 
# } 

server{ 
    listen *:80; 
#  listen *:443 ssl; 
    root /usr/share/nginx/html; 

    location/{ 
     proxy_pass http://web_rps; 
    } 
} 

include  /etc/nginx/mime.types; 
default_type application/octet-stream; 

log_format main '$remote_addr - $remote_user [$time_local] "$request" ' 
        '$status $body_bytes_sent "$http_referer" ' 
        '"$http_user_agent" "$http_x_forwarded_for"'; 

access_log /var/log/nginx/access.log main; 

sendfile  on; 
#tcp_nopush  on; 

keepalive_timeout 65; 

#gzip on; 

include /etc/nginx/conf.d/*.conf; 
} 

在任何情况下,如果我浏览到http://rpsnginx.cloudapp.net/(我的nginx的VM),我总是得到一个404的Web应用程序没有找到,

错误404 - 找不到Web应用程序。

您尝试访问的Web应用程序在此 Microsoft Azure应用程序服务区域中不可用。这可能是 几个原因造成的:

  1. 的Web应用程序所有者注册自定义域名指向微软的Azure应用程序服务,但尚未配置天青 识别它。点击这里阅读更多。

  2. 网络应用程序所有者已将网络应用程序移至其他区域,但DNS缓存仍在引导到之前区域中使用的旧IP地址 。点击这里阅读更多。

如果我通过代理删除通我得到标准的“欢迎NGINX” index.html文件,所以NGINX似乎只是正常工作太...

我衷心希望我的新(b)引起了这个问题。

任何帮助将是一个很大的帮助!

回答

1

首先,大道具NGINX支持回去我尽快,我可以转此帖来自我发送一封电子邮件......

更重要的是,这里是他们的工作提供了答案!

我的猜测是这是问题的根源。 尝试添加以下指令 “的位置/” 块:

proxy_set_header Host rpsexpressnodetest.azurewebsites.net; 

工作就像一个冠军!