Apache-2.2
如何讓一些虛擬文件夾由 iis 提供服務,而另一些由 apache 提供服務?
我有一個用 PHP 編寫的站點,它由安裝在 Linux 上的 Apache 提供服務。也就是說,它的 url 是
example.com
並且它有子文件夾audio
,games
,photo
,所以使用者指向它為example.com/photo
.現在我正在 ASP.Net 中編寫新功能(例如,觀看電影的能力),並希望使用者可以以
example.com/video
. 為它提供服務的 IIS 安裝在另一台伺服器上,該伺服器從 Internet 上看不到(只有 Apache 可以直接訪問 Internet),但可以通過 Intranet 從 Apache 輕鬆訪問它。使用者會話並不重要!
我應該如何配置它以有效地工作?可能我需要安裝更多軟體?
我發布了我的解決方案,據我所知,這是Farseeker 的意思,但如果有任何建議,我想听聽其他建議。
您已經將問題標記為“反向代理”,所以您做對了:)
我認為 Apache 是您在 :80 上為您的公共 IP 設置的預設偵聽器?如果是這種情況,那麼您將需要配置 Apache 的模組,並將其配置為
mod_proxy
重寫請求example.com/video``IISSERVER/video
如果您的預設偵聽器是 IIS,那麼想法是相同的,但是您需要使用像ISAPI Rewrite這樣的商業產品來執行此操作。
是的,Apache 是 80 埠上公共 ip 上的預設偵聽器。我使用
ProxyPass
並ProxyPassReverse
添加了以下幾行虛擬主機:ProxyRequests Off <Proxy *> Order deny,allow Allow from all </Proxy> ProxyPass /video http://iis_ip:iis_port ProxyPassReverse /video http://iis_ip:iis_port
但我懷疑我選擇了最佳解決方案。我看到的替代方法之一是安裝 ngin 並將其設為預設值。然後將請求從 nginx 轉發到 Apacge 和 IIS。也許還有其他變體,所以我還沒有結束問題。