Proxy übergibt SSL-Anforderungen an Localnet-SSL-Sites

389
qmor

Ich habe zwei Sites, die über https im lokalen Netzwerk laufen und die letsencrypt-Zertifikate verwenden - nennen wir sie git.foo.com und api.foo.com.

Ich möchte diese Seiten vom Internet aus sehen. Ich habe einen OpenWRT-Router, der unter weißer IP-Adresse läuft (und DNS-Einträge für git.foo.com und api.foo.com zielt auf seine IP-Adresse).

Ich habe gerade den Verkehr von 80 und 443 dport auf einen anderen lokalen Rechner umgeleitet (mit iptables), der ein Proxy sein muss. Die Frage ist, wie man den SSL-Verkehr an einen bestimmten Site-Server (der bereits SSL-Server verwendet) nach Site-Hostnamen weiterleitet.

0
Vielleicht möchten Sie hier nachsehen - https://serverfault.com/q/718799/210623 Anaksunaman vor 7 Jahren 0
Brillanz. Auf halbem Weg fertig. Weg zu git.foo.com funktioniert. Wenn ich mich jedoch mit api.foo.com verbinde (das auf derselben Maschine wie git.foo.com läuft), wird git.foo.com geöffnet. qmor vor 7 Jahren 0

1 Antwort auf die Frage

1
qmor

Hab es mit Apache gemacht.

<VirtualHost *:443> ServerName git.foo.com ErrorLog /var/log/apache2/git.error.log TransferLog /var/log/apache2/git.com.access.log SSLEngine On SSLProxyEngine On ProxyRequests Off ProxyPreserveHost On SSLProxyCheckPeerCN off SSLProxyCheckPeerExpire off SSLInsecureRenegotiation on SSLProxyVerify none SSLProxyCheckPeerName Off SSLVerifyClient none SSLCertificateFile /etc/certs/git.foo.com/fullchain2.pem SSLCertificateKeyFile /etc/certs/git.foo.com/privkey2.pem  ProxyPass / https://192.168.3.230/ ProxyPassReverse / https://192.168.3.230/  <Location "/"> Require all granted </Location> </VirtualHost>  <VirtualHost *:443> ServerName api.foo.com ErrorLog /var/log/apache2/api.error.log TransferLog /var/log/apache2/api.access.log SSLEngine On SSLProxyEngine On ProxyPreserveHost on ProxyRequests Off SSLProxyCheckPeerCN off SSLProxyCheckPeerExpire off SSLInsecureRenegotiation on SSLProxyVerify none SSLProxyCheckPeerName Off SSLVerifyClient none SSLCertificateFile /etc/certs/api.foo.com/fullchain5.pem SSLCertificateKeyFile /etc/certs/api.foo.com/privkey5.pem  ProxyPass / https://192.168.3.230/ ProxyPassReverse / https://192.168.3.230/  <Location "/"> Require all granted </Location> </VirtualHost>   <VirtualHost *:80> ServerName subapi.foo.com  ProxyRequests Off ProxyPreserveHost On ProxyPass / https://192.168.3.27/ ProxyPassReverse / https://192.168.3.27/  <Location "/"> Require all granted </Location> </VirtualHost>