我對 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 部分,無論其他代理網址為何,它都會顯示相同的錯誤。