A autenticação funciona para o sistema de arquivos, mas não para o proxy reverso

1

Eu tenho um Mac Mini com o OS X Server 5.1.7 em execução. Eu tenho um serviço rodando localmente acessível através de link (sem autenticação) e eu quero torná-lo disponível para o exterior, mas com autenticação usando o sistema operacional Diretório do X Server.

Então, na seção de sites, criei um novo site chamado intranet.mydomain.com, que é acessível apenas a "Usuários da Intranet" (um grupo que criei).

Depois de fazer isso, tento acessar o link , ele pede nome de usuário e senha e ele funciona com as credenciais de um usuário que está parte de "Usuários da Intranet".

Agora, para configurar o proxy reverso, vou para o arquivo

/Library/Server/Web/Config/apache2/sites/0000_127.0.0.1_34543_intranet.mydomain.com.conf

E adicione o seguinte:

ProxyPass /ask http://127.0.0.1:3000/ask

ProxyPassReverse /ask http://127.0.0.1:3000/ask

após o nó Directory .

Agora, ao acessar o link , chego ao serviço interno, mas nenhuma autenticação é solicitada. O que deve estar bem, acredito, já que na configuração XML apenas o nó Directory tem a autenticação configurada:

<Directory "/Library/Server/Web/Data/Sites/intranet.mydomain.com">
    Options All -Indexes -ExecCGI -Includes +MultiViews
    AllowOverride None
    <IfModule mod_dav.c>
        DAV Off
    </IfModule>
    <IfDefine !WEBSERVICE_ON>
        Require all denied
        ErrorDocument 403 /customerror/websitesoff403.html
    </IfDefine>
    AuthType Digest
    AuthName "Realm ID 75040558"
    <Limit PUT DELETE PROPPATCH PROPFIND MKCOL COPY MOVE LOCK UNLOCK>
      Require no-user
    </Limit>
    <Limit GET HEAD OPTIONS CONNECT POST>
      Require group memberusers
    </Limit>
    <IfDefine !WEBSERVICE_ON>
        Require all denied
        ErrorDocument 403 /customerror/websitesoff403.html
    </IfDefine>
</Directory>

Então, para torná-lo global (tanto para o sistema de arquivos quanto para os caminhos não no sistema de arquivos), eu mudei o nó Directory para um nó de localização, assim:

<Location "/">
    Options All -Indexes -ExecCGI -Includes +MultiViews
    AllowOverride None
    <IfModule mod_dav.c>
        DAV Off
    </IfModule>
    <IfDefine !WEBSERVICE_ON>
        Require all denied
        ErrorDocument 403 /customerror/websitesoff403.html
    </IfDefine>
    AuthType Digest
    AuthName "Realm ID 75040558"
    <Limit PUT DELETE PROPPATCH PROPFIND MKCOL COPY MOVE LOCK UNLOCK>
      Require no-user
    </Limit>
    <Limit GET HEAD OPTIONS CONNECT POST>
      Require group memberusers
    </Limit>
    <IfDefine !WEBSERVICE_ON>
        Require all denied
        ErrorDocument 403 /customerror/websitesoff403.html
    </IfDefine>
</Location>

Depois de fazer isso, acessando a rota do meu domínio, me pedem autenticação e posso fazer o login. No entanto, acessando o caminho https://intranet.mydomain.com/ask , estou pedindo autenticação (tudo bem!), Mas ele não aceita nenhum nome de usuário / senha de usuário válido (observe que ele funciona para / , mas não para /ask ). / p>

Alguma ideia do porquê?

Este é o meu arquivo de configuração completo deste site antes de alterar o Directory para Location :

<VirtualHost 127.0.0.1:34543>
    ServerName https://intranet.mydomain.com:443
    ServerAdmin [email protected]
    DocumentRoot "/Library/Server/Web/Data/Sites/intranet.mydomain.com"
    DirectoryIndex index.html index.php default.html
    CustomLog /var/log/apache2/access_log combinedvhost
    ErrorLog /var/log/apache2/error_log
    <IfModule mod_ssl.c>
        SSLEngine Off
        SSLCipherSuite "HIGH:MEDIUM:!MD5:!RC4"
        SSLProtocol -all +TLSv1 +TLSv1.1 +TLSv1.2
        SSLProxyEngine On
        SSLCertificateFile "/etc/certificates/intranet.mydomain.com.A86175C9AFAC45AA2D0D590A8B94ACC1455519F8.cert.pem"
        SSLCertificateKeyFile "/etc/certificates/intranet.mydomain.com.A86175C9AFAC45AA2D0D590A8B94ACC1455519F8.key.pem"
        SSLCertificateChainFile "/etc/certificates/intranet.mydomain.com.A86175C9AFAC45AA2D0D590A8B94ACC1455519F8.chain.pem"
        SSLProxyProtocol -all +TLSv1 +TLSv1.1 +TLSv1.2
        SSLProxyCheckPeerCN off
        SSLProxyCheckPeerName off
    </IfModule>
    <Directory "/Library/Server/Web/Data/Sites/intranet.mydomain.com">
        Options All -Indexes -ExecCGI -Includes +MultiViews
        AllowOverride None
        <IfModule mod_dav.c>
            DAV Off
        </IfModule>
        <IfDefine !WEBSERVICE_ON>
            Require all denied
            ErrorDocument 403 /customerror/websitesoff403.html
        </IfDefine>
        AuthType Digest
        AuthName "Realm ID 75040558"
        <Limit PUT DELETE PROPPATCH PROPFIND MKCOL COPY MOVE LOCK UNLOCK>
          Require no-user
        </Limit>
        <Limit GET HEAD OPTIONS CONNECT POST>
          Require group memberusers
        </Limit>
        <IfDefine !WEBSERVICE_ON>
            Require all denied
            ErrorDocument 403 /customerror/websitesoff403.html
        </IfDefine>
    </Directory>
    ProxyPass /ask http://127.0.0.1:3000/ask
    ProxyPassReverse /ask http://127.0.0.1:3000/ask
</VirtualHost>
    
por Miguel Ribeiro 25.09.2016 / 15:07

0 respostas