Configuração do proxy reverso do Apache

Configuração do proxy reverso do Apache

Ainda sou um novato no Apache e suas configurações e tive um problema com meu servidor web, onde estou servindo ao Redmine um aplicativo Ruby e também conteúdo estático.

Apache 2.2

Atualmente tem os seguintes proxies configurados:

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"

Ao tentar acessar:

Redmine:

mypage.domain.com

isso me leva para Redmine. Bom.

/portal:

mypage.domain.com/portal

Falha

Não encontrado A URL solicitada /portal/ não foi encontrada neste servidor.

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

/exemplos

mypage.domain.com/examples

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

funciona


É possível configurar o Apache para que eu possa usar

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

para chegar a todos os lugares que preciso ir? Como?

Alguma sugestão sobre um título mais adequado?

Responder1

Esta não é exatamente uma resposta, mas fiquei sem espaço no campo de comentários. Eu configurei sua configuração em um laptop. Definitivamente, isso está acontecendo porque você está fazendo proxy para um site https para/portal. Se você puder enviá-lo para um site http, o problema será resolvido imediatamente. Eu verifiquei e gosto de você (provavelmente) tenho mod_proxy e mod_proxy_connect habilitados (pelo menos na configuração), mas por algum motivo a solicitação não está sendo enviada para o site https, independente da porta. No Ubuntu é meio difícil ver quais módulos estão realmente carregados.

Depois de não ver nenhum dado na porta do sniffer, tracei o apache2 e obtive:

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

o que não é muito útil, mas mostra que absolutamente nenhuma solicitação está sendo feita. Você pode brincar com a parte https sozinho, pois exibirá o mesmo erro, independentemente dos outros URLs com proxy.

informação relacionada