簡體   English   中英

反向代理背后的Symfony

[英]Symfony behind reverse proxy

我們有一個專用網絡,其中,我們的應用程序安裝在Apache虛擬主機上,例如:

http://extranet.domain.comhttp://calendar.domain.com

一切正常。 現在,我們需要從網絡外部使這些應用程序之一可用。

我們唯一具有公共訪問權限的計算機是zimbra(郵件)服務器...我嘗試在其中配置反向代理,但是它不起作用...我將此添加到了/etc/nginx/sites-enabled/default

location /extranet/ {
   proxy_pass http://extranet.domain.com/;
   proxy_http_version 1.1;
   proxy_set_header Accept-Encoding "";
   proxy_set_header   X-Real-IP $remote_addr;
   proxy_set_header   X-Forwarded-For $proxy_add_x_forwarded_for;
}

如果我從這樣的外部網絡嘗試外部URL:

http://zimbra.externaldomain.com/extranet/login

我可以到達登錄頁面並登錄,但是重定向后它丟失了URL的Extranet部分,因此它無處可去...我得到的是

http://zimbra.externaldomain.com/home

代替

http://zimbra.externaldomain.com/extranet/home

任何幫助或線索?

當心斜杠: proxy_pass http://extranet.domain.com/; ,它是有效的URI。 因此,nginx將以此替換您的匹配請求。

如果匹配的位置是/extranet/ ,並且使用URI傳遞它(例如/extranet/someurl ,則nginx代理傳遞將用自己的URI替換匹配的位置(在您的情況下/

因此,路由/extranet/someurl將變為/someurl

以供參考

暫無
暫無

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

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