Nginx反向代理死循环问题

2016/01/06 linux

需求是要将news.xxxxx.com指向内网qt.xxxxx.com/MAKE-NEWS-HIAPK/ , 在做反代测试时出现目录死循环http响应”414 Request-URI Too Large”

异常现象:

10.79.153.11 - - [06/Jan/2016:16:58:13 +0800] "GET /MAKE-NEWS-HIAPK/MAKE-NEWS-HIAPK/MAKE-NEWS-HIAPK/MAKE-NEWS-HIAPK/MAKE-NEWS-HIAPK/MAKE-NEWS-HIAPK/MAKE-NEWS-HIAPK/meizu/HIAPK1626034.html HTTP/1.0" 009 192 "-" "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/47.0.2526.106 Safari/537.36"

反代配置:

server {
    listen       80;
    server_name  news.xxxxx.com;
    location / {
        proxy_redirect off;
        proxy_read_timeout 300;
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_pass http://qt.xxxxx.com/MAKE-NEWS-HIAPK/;
    }
    access_log /data/httplogs/news.xxxxx.access.log;
    error_log /data/httplogs/news.xxxxx.error.log;
}

解决方式:

由于news.xxxxx.com和qt.xxxxx.com是配置在同一台服务器,需要把Host参数注释或者写死

server {
    listen       80;
    server_name  news.xxxxx.com;
    location / {
        proxy_redirect off;
        proxy_read_timeout 300;
        proxy_set_header Host qt.xxxxx.com;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_pass http://qt.xxxxx.com/MAKE-NEWS-HIAPK/;
    }
    access_log /data/httplogs/news.xxxxx.access.log;
    error_log /data/httplogs/news.xxxxx.error.log;
}

Search

    Table of Contents