2016-03-11 56 views
1

我剛剛安裝了nginx並將其設置爲通過apache安裝。作爲事實上,我的規則是:nginx和DNS子域名,重定向太多

server { 
    listen 80; 

    server_name example.com; 

    location/{ 
     proxy_set_header X-Readl-IP $remote_addr; 
     proxy_set_header X-Forwarded-For $remote_addr; 
     proxy_set_header Host $host; 
     proxy_pass http://example.com:8080; 
    } 

    location ~ /\.ht { 
     deny all; 
    } 
} 

,我想通過配置一個子域:

server { 
    listen 80; 
    server_name sub.example.com; 

    location/{ 
     proxy_pass http://example.com:8080/sub; 
    } 

    location ~/\.ht { 
     deny all; 
    } 
} 

和配置我的DNS像這樣:

NAME  |  TYPE  |  TARGET 
//empty   A   45.23.67.89 
sub   CNAME  example.com 

我等着傳播,但我得到「太多重定向」在鉻...

響應總是301,並重定向t o IP:80,我猜這是由於DNS中的A行造成的...... domain.com的確重定向到apache,而且我確實得到了「它的作用」,我們都很清楚......

任何人都可以指出我正確的方向嗎?

謝謝!

UPDATE

我添加了另一個subdowmain,分次,以下EXACTLY相同的程序,但它神奇的作品...需要幫助!

回答

0

好解決,

我添加的報頭到proxy_pass指令和它的工作

proxy_set_header X-Forwarded-For $remote_addr; 
proxy_set_header Host $host; 

但是,它仍然加我在URL末尾的斜槓(/),這意味着當我去sub.example.com我得到sub.exmaple.com//

0

ProxyRequests off 
ProxyPass/http://127.0.0.1:2368/ 
ProxyPassReverse/http:/127.0.0.1:2368/    
</VirtualHost> 

這個配置是從拍攝的Apache2不知道這是否會在Nginx的工作,但這個修復它的Apache2。顯然改變本地主機的端口。該配置適用於Ghost博客。

這會將訪問者重定向到特定的端口,如果您啓用了HTTPS或SSL並且獲得了太多的重定向請求,這很有用。您可以將端口設置爲443(SSL端口)。