Eu tenho o Apache rodando na configuração de proxy reverso abaixo para servir conteúdo java webapp
<VirtualHost *:80>
SSLProxyEngine on
ProxyPreserveHost On
ProxyRequests Off
ServerName www.example.com
ServerAlias example.com
<Location />
Order deny,allow
Allow from all
SetOutputFilter INFLATE;DEFLATE
ProxyPass http://localhost:7070/
ProxyPassReverse http://localhost:7070/
AddOutputFilterByType DEFLATE text/html text/plain text/xml text/css text/javascript application/javascript
</Location>
</VirtualHost>
Agora quero adicionar uma pasta de arquivo estático e deve ser veiculada com o mesmo nome de domínio, mas no caminho "/auth" https://example.com/auth
então adicionei a configuração abaixo logo abaixo da acima
<Location /auth>
Require all granted
Allow from all
</Location>
Alias "/auth" "/var/www/html/auth"
DocumentRoot /var/www/html/auth/
<Directory /var/www/html/auth>
Require all granted
DirectoryIndex index.html
</Directory>
Mas quando tento "https://example.com/auth", ele ainda vai para java webapp e me dá 404. Mas quando eu enrolo o localhost, posso ver o conteúdo da página da web
curl http://localhost
como acessar conteúdo estático em /var/www/html/auth/ usando https://example.com/authURL
Responder1
Você precisa remover explicitamente esse local do proxy usando a ProxyPass "!"
diretiva. Isso deve ser feito no Location
que você não precisa de proxy, e este bloco deve ser escritodepoiso bloco proxy, assim:
<Location />
ProxyPass http://localhost:7070/
(...)
</Location>
<Location /auth>
ProxyPass "!"
</Location>