Apache 反向代理配置

Apache 反向代理配置

我對 Apache 及其配置仍然是個新手,而且我的 Web 伺服器有問題,我在其中為 Redmine 提供 ruby​​ 應用程式和靜態內容。

阿帕契2.2

目前已設定以下代理:

ProxyPass /portal https://mypage.domain.com:8181/portal
ProxyPassReverse /portal https://mypage.domain.com:8181/portal

ProxyPass /examples http://mypage.domain.com:8555/portal
ProxyPassReverse /examples http://mypage.domain.com:8555/portal

ProxyPass / balancer://redmine_cluster/
ProxyPassReverse / balancer://redmine_cluster/

<Proxy balancer://redmine_cluster>
     BalancerMember http://REDMINEMACHINENAME:3000/
</Proxy>

DocumentRoot "X:/app/Redmine/public" 

<Directory "X:/app/Redmine/public">
        Require all granted
        Options -MultiViews
</Directory>

RequestHeader set X-Forwarded-Proto "https"

當嘗試訪問時:

Redmine:

mypage.domain.com

它帶我去Redmine。好的。

/門戶網站:

mypage.domain.com/portal

它失敗

未找到 在此伺服器上未找到請求的 URL /portal/。

WEB.SERVER.ADDRESS - - [09/Oct/2015:16:14:15 -0700] "GET /portal/ HTTP/1.1" 404 207
MY.IP.ADDRESS - - [09/Oct/2015:16:14:15 -0700] "GET /portal/ HTTP/1.1" 404 207

/例子

mypage.domain.com/examples

MY.IP.ADDRESS - - [09/Oct/2015:16:10:11 -0700] "GET /examples/ HTTP/1.1" 200 1285

作品


是否可以設定 Apache 以便我可以使用

mypage.domain.com
mypage.domain.com/portal
mypage.domain.com/examples

到達我需要到達的所有地方?如何?

關於更合適的標題有什麼建議嗎?

答案1

這不是一個完整的答案,但我的評論欄位已經沒有空間了。我在筆記型電腦上設定了您的配置。這肯定會發生,因為您正在代理到 /portal 的 https 網站。如果您可以將其發送到 http 站點,它將立即解決問題。我檢查過並且像你一樣(很可能)我啟用了 mod_proxy 和 mod_proxy_connect (至少在配置中),但由於某種原因,無論連接埠如何,請求都沒有發送到 https 網站。 Ubuntu 很難看出實際載入了哪些模組。

在嗅探器上看到連接埠沒有資料後,我 strace apache2 並得到:

[pid 397] read(5, <unfinished ...> [pid 458] accept4(4, 0xa9ee615c, [128], SOCK_CLOEXEC) = -1 EAGAIN (Resource temporarily unavailable)

這不是非常有用,但表明絕對沒有提出任何請求。您可以自行使用 https 部分,無論其他代理網址為何,它都會顯示相同的錯誤。

相關內容