Apache-2.2

如何讓一些虛擬文件夾由 iis 提供服務,而另一些由 apache 提供服務?

  • January 5, 2010

我有一個用 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 上的預設偵聽器。我使用ProxyPassProxyPassReverse添加了以下幾行虛擬主機:

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。也許還有其他變體,所以我還沒有結束問題。

引用自:https://serverfault.com/questions/99362