Apache 反向代理配置

Apache 反向代理配置

我对 Apache 及其配置还很陌生,并且在我的 Web 服务器上遇到了问题,我在服务器上为 Redmine 提供 ruby​​ 应用程序和静态内容。

Apache 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 很难看到实际加载了哪些模块。

在嗅探器上看到端口没有数据后,我跟踪了 apache2 并得到:

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

这不是很有用,但表明根本没有发出任何请求。您可以单独使用 https 部分,无论其他代理 URL 如何,它都会显示相同的错误。

相关内容