Apache-Reverse-Proxy, sodass SSL-Browseranforderungen für die IP des Servers an den FQDN umgeleitet werden

Apache-Reverse-Proxy, sodass SSL-Browseranforderungen für die IP des Servers an den FQDN umgeleitet werden

Ich habe Apache und einen benutzerdefinierten Nicht-Apache-Webdienst auf demselben Server laufen. Ich versuche, Apache dazu zu bringen, SSL-Verbindungen zur anderen Site per Reverse-Proxy herzustellen, um zu verhindern, dass SSL-Warnungen angezeigt werden, wenn jemand meine Site erreicht, indem er die Adresse in seinen Browser eingibt (https://xx.xx.xx.xx). Ich möchte, dass die Anfrage unter diesen Umständen automatisch in eine FQDN-Anfrage geändert wird, um Zertifikatswarnungen zu vermeiden.

Meine Site läuft auf einem benutzerdefinierten Dienst (nicht Apache) und kann dies nicht verhindern. Mein Plan ist, Apache so einzurichten, dass es auf 443 lauscht und auf Port 80 auf derselben Box umleitet und eine Art Umschreibregel verwendet, um den direkten IP-Zugriff zu verhindern oder umzuleiten.

Ich kann diesen Teil zum Laufen bringen, aber Anfragen direkt an die IP werden nicht automatisch auf Anfragen nach dem Namen umgeleitet. Die teilweise funktionierende Testkonfiguration auf Port 8080 finden Sie unten.

<VirtualHost *:8080>
ServerName fqdn
SSLEngine On
SSLCertificateFile /etc/httpd/ssl/Cert.crt
SSLCertificateKeyFile /etc/httpd/ssl/Key.key
SSLCertificateChainFile /etc/httpd/ssl/TrustedRoot.crt
ProxyRequests Off
ProxyPreserveHost On
<Proxy *>
AddDefaultCharset Off
Order deny,allow
Allow from all
</Proxy>
ProxyPass / http://fqdn:80/
ProxyPassReverse / http://fqdn:80/

ErrorLog logs/myserver-error_log
CustomLog logs/myserver-access_log common
</VirtualHost>

Ich habe einige Umschreibeanweisungen ausprobiert, aber nicht viel Erfolg gehabt. Auch JavaScript-Umleitungen verhindern die SSL-Fehler nicht. Ideen?

Antwort1

Ändern Sie Ihren Dienst so, dass er auf einem Port lauscht, der von außen nicht erreichbar ist, beispielsweise 8888. Apache sollte jede eingehende Anfrage verarbeiten und eine Umleitung (Umschreibung) für diejenigen senden, die Ihnen nicht gefallen. Diejenigen, die Ihnen zusagen, z. B. der FQDN:

ProxyPass / http://127.0.0.1:8888/
ProxyPassReverse / http://127.0.0.1:8888/

Fügen Sie auf Port 443 einen virtuellen Host für die sicheren Anfragen (https/SSL) und einen Standardserver für die Anfragen hinzu, die ohne Verwendung des FQDN an Ihr System gehen.

verwandte Informationen