簡體   English   中英

Nginx到iis轉發錯誤400

[英]Nginx to iis forwarding Error 400

請幫我。 我有iis服務器和nginx代理。 當我連接到我的nginx時,我得到有時400錯誤請求(無效主機名)錯誤,當我按F5並重新加載頁面我的網站加載正確(200代碼)但沒有腳本\\ css ...當我按F5 angain 400錯誤和等等。

iis在http:// localhost:81上

我嘗試了兩個nginx配置:

第一

  location / {
            proxy_pass http://localhost:81;
            proxy_set_header    Host            $host;
            proxy_set_header    X-Real-IP       $remote_addr;
            proxy_set_header    X-Forwarded-for $remote_addr;
            port_in_redirect off;
            proxy_connect_timeout 300;
        }

第二

 location / {
            proxy_pass http://localhost:81;
            proxy_set_header Host $host;
            proxy_set_header X-Accel-Expires 0;
            proxy_set_header X-Real-IP $remote_addr;
            proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        }

第一個和第二個配置都有此錯誤。 Nginx的1.6.2版本。

Nginx error.log為空。 像這樣的Nginx訪問日志

217.66.152.89 - - [16/Mar/2015:23:42:56 +0300] "GET / HTTP/1.1" 400 334 "-" "Mozilla/5.0 (Windows NT 6.3; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/41.0.2272.89 Safari/537.36"
217.66.152.89 - - [16/Mar/2015:23:42:58 +0300] "GET / HTTP/1.1" 200 689 "-" "Mozilla/5.0 (Windows NT 6.3; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/41.0.2272.89 Safari/537.36"
217.66.152.89 - - [16/Mar/2015:23:43:01 +0300] "GET / HTTP/1.1" 400 334 "-" "Mozilla/5.0 (Windows NT 6.3; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/41.0.2272.89 Safari/537.36"
217.66.152.89 - - [16/Mar/2015:23:43:03 +0300] "GET / HTTP/1.1" 200 689 "-" "Mozilla/5.0 (Windows NT 6.3; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/41.0.2272.89 Safari/537.36"

iis日志只有200和304代碼

請求標頭

Accept:text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8
Accept-Encoding:gzip, deflate, sdch
Accept-Language:ru-RU,ru;q=0.8,en-US;q=0.6,en;q=0.4
Cache-Control:max-age=0
Connection:keep-alive
Cookie:mode=undefined; view=undefined
Host:(this is my host)
If-Modified-Since:Mon, 16 Mar 2015 12:56:48 GMT
If-None-Match:"4e905caae85fd01:0"
User-Agent:Mozilla/5.0 (Windows NT 6.3; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/41.0.2272.89 Safari/537.36

我希望得到你的幫助。

有同樣的問題。 這是因為當“localhost”同時具有IPv4和IPv6時,服務器DNS名稱僅解析為IPv4地址。

當NGINX嘗試解析上游“ http:// localhost ”時,它獲得了“:: 1”並切換到IPv6 - 但HTTP.SYS(IIS網絡層為了討論)后來獲得了指定名稱的IPv4地址在“主機:”標題中。

盡管符號名稱“localhost”,IPv4地址和“:: 1”IPv6實際上屬於同一台機器,但這種情況沒有得到妥善處理。

解決方法 - 刪除proxy_set_header Host $host; 指令或使用proxy_pass URI中的數字上游地址。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM