2013-09-29 24 views
1

我有一對NGINX服務器在負載均衡器後面運行。如何判斷髮送https給主人的清漆?

如何判斷varnish是否通過https將所有傳入請求發送到10.x.x.x:443(master_ip:443)?我們在中央系統上處理大量網站,因此需要某種模式。

回答

3

試試這個重定向爲出發點和自定義您的多站點設置:當你想客戶端重定向到SSL版本

有用:從this link引用

sub vcl_recv { 
    if ((req.http.host ~ "^(?i)somesite.org" || req.http.host ~ "^(?i)www.somesite.org") 
     && req.http.X-Forwarded-Proto !~ "(?i)https") { 
     set req.http.x-Redir-Url = "https://www.somesite.org" + req.url; 
     error 750 req.http.x-Redir-Url; 
    } 
} 

sub vcl_error { 
    if (obj.status == 750) { 
     set obj.http.Location = obj.response; 
     set obj.status = 302; 
     return (deliver); 
    } 

站點,因爲您的清漆實例正在運行在一些 SSL終結點之後,例如啓用了SSL的nginx實例。

+0

非常好 - 看起來我可以在&&後使用第二個條件。我會在我回家的時候試試這個謝謝! –