Apache zur Bereitstellung sowohl statischer Dateien als auch von Webanwendungen

Apache zur Bereitstellung sowohl statischer Dateien als auch von Webanwendungen

Ich habe Apache auf der folgenden Reverse-Proxy-Konfiguration laufen, um Java-Webanwendungsinhalte bereitzustellen

<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>

Jetzt möchte ich einen statischen Dateiordner hinzufügen und dieser sollte unter demselben Domänennamen, aber unter dem Pfad "/auth" bereitgestellt werden https://example.com/auth

also habe ich die folgende Konfiguration direkt unter der obigen hinzugefügt

<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>

Aber wenn ich "https://example.com/auth" versuche, geht es immer noch zu Java WebApp und gibt mir 404. Aber wenn ich curl localhost verwende, kann ich den Inhalt der Webseite sehen

curl http://localhost

So greifen Sie auf statische Inhalte unter /var/www/html/auth/ zu mit https://example.com/authURL

Antwort1

Sie müssen diesen Standort explizit aus dem Proxy entfernen, indem Sie die ProxyPass "!"Direktive verwenden. Dies sollte in dem erfolgen, Locationwas nicht als Proxy verwendet werden muss, und dieser Block sollte wie folgt geschrieben werden:nachder Proxy-Block, wie folgt:

<Location />
  ProxyPass http://localhost:7070/
  (...)
</Location>

<Location /auth>
  ProxyPass "!"
</Location>

verwandte Informationen