2013-07-14 92 views
2

我在NGINX反向代理解決方案完全的新手,它似乎越來越難以瞭解所有的術語。我正在尋找一個解決方案如下。我真的很感激任何人的幫助來配置相同的。Nginx的重寫規則導向

我們有我們想在WWW網站發佈,但不希望顧客看到內部服務器的URL的內部Web服務器。作爲例子:

客戶訪問www.mycompany.com/track - > NGINX讀出的道,然後重定向URL到內部server.com.au/tracker。我們不希望客戶看到這個地址。

有什麼建議嗎?

乾杯,

桑迪

回答

0

上重寫nginx的比在Apache完全一樣:)語法變化。 當Apache使用RewriteRule時,nginx使用重寫。我可以建議你參考http://wiki.nginx.org/HttpRewriteModule?檢查2.4和2.5重寫特定的文檔。您可以找到有關重寫語法的信息,以及重寫選項。

有從上面一個簡單的例子,如果你只需要基本的語法:

rewrite ^(/download/.*)/media/(.*)\..*$ $1/mp3/$2.mp3 break; 

順便說一句,如果你想從工作的例子,你可以將你的Apache .htaccess文件成片nginx的配置,使用這個工具的:http://winginx.com/htaccess

+1

的OP是非常具體的關於希望對用戶隱藏內部URL,所以我們需要的是一個代理,而不是重定向。 – mc0e

+0

這就是爲什麼我沒有建議重定向:)這我親愛的是重寫,而不是重定向。它會隱藏實際的URL,如果你配置它這樣做。 –

1

正是在這種情況下,使用代理好得多。重寫是指在同一個域內的URL或重定向客戶端(這將顯示在URL中)。 試試這個:

location/{ 
    proxy_pass http://internal.example.com/; 
    proxy_set_header Host $host; 
}