Eu tenho uma configuração no Apache 2.4.6 no RHEL, para fazer proxy de solicitações para um servidor IIS v6.1 no Server2008R2 que hospeda o site. Eu posso acessar o serviço diretamente no IIS, então sei que está funcionando. No entanto, quando eu passar pelo proxy, recebo um 404.
O seguinte está no meu diretório disponível no site (tive que remover muitos dados):
VirtualHost *:443>
SSLEngine on
ServerName myserver
ServerAlias myserver
SSLCertificateFile /etc/pki/tls/certs/myserver.domain.crt
SSLCertificateKeyFile /etc/pki/tls/private/myserver.domain.key
SSLCACertificateFile /etc/pki/tls/certs/CAs
DocumentRoot C:\inetpub\wwwroot
<Location "/TEST">
SSLVerifyClient optional
SSLVerifyDepth 5
DocumentRoot C:\inetpub\wwwroot
ProxyPass http://myserver.domain/TEST
ProxyPassReverse http://myserver.domain/TEST
Require all granted
SSLOptions +FakeBasicAuth
SSLRequireSSL
SSLRequire ( %{SSL_CLIENT_S_DN_C} eq "REMOVED" \
&& %{SSL_CLIENT_S_DN_ST} eq "REMOVED" \
&& %{SSL_CLIENT_S_DN_L} eq "REMOVED" \
&& %{SSL_CLIENT_S_DN_O} eq "REMOVED" \
&& %{SSL_CLIENT_S_DN_OU} eq "REMOVED" \
&& %{SSL_CLIENT_S_DN_CN} eq "REMOVED" )
</Location>
ErrorLog logs/ssl_error_log
TransferLog logs/ssl_access_log
LogLevel warn
ProxyPreserveHost Off
ProxyRequests Off
/VirtualHost>
O erro nos logs é:
AH00128: File does not exist: /var/www/html/TEST
O que me diz que o Apache está procurando o diretório típico do Linux, quando eu realmente quero que ele aponte para C:\inetpub\wwwroot
. Tentei definir manualmente o DocumentRoot como mostrado acima, alterando o local para todo o tipo de variações em C:\inetpub\wwwroot\TEST
, tentei criar um bloco Directory
que não funcionou, alterando os valores para ProxyPreserveHost Off
e% código%. Nada está funcionando. Existe alguma diretriz especial para deixar o Apache saber que está falando com o IIS?
Tags apache2 proxy apache-2.4 iis iis-6