我在电脑“A”上安装了 nginx,在电脑“B”上安装了带有 ASP.NET 的 IIS。
nginx配置如下:
... 位置 ~ ((Web|Script)Resource.*)$ {
proxy_pass "B"/$1;
proxy_redirect off;
proxy_set_header REMOTE_ADDR $remote_addr;
proxy_set_header REQUEST_URI $request_uri;
proxy_set_header HTTP_REFERER $http_referer;
#proxy_set_header REQUEST_URI $request_uri;
proxy_set_header QUERY_STRING $query_string;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header Host $http_host;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}...
但要求
“B”/WebScript?a=b&c=d
无法将 GET 数据(a=b&c=d)传送至 IIS 部分。
有人可以帮忙吗?
编辑:
还有一些其他信息:
nginx 还配置为将其他数据代理到 Apache,在“A”上运行时一切都正常(至少 GET 是可以的)。
配置与上面相同,但位置不同
答案1
服务器{
监听80;
服务器名称“B”URL;---例如这里.myserver.com或www.myseaver.com
location / {
proxy_pass http://“B”内网IP:port; - - - - -例如192.168.1.101:80
proxy_set_header 主机 $host;