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.