прокси передает ssl запросы на локальные ssl сайты

235
qmor

У меня есть два сайта, работающие через https в локальной сети и использующие сертификаты letsencrypt - давайте назовем их git.foo.com и api.foo.com.

Я хочу видеть эти сайты из интернета. У меня есть маршрутизатор OpenWRT, который работает с белым IP-адресом (и DNS-записи для git.foo.com и api.foo.com направлены на его IP).

Я только что перенаправил (используя iptables) трафик с 80 и 443 dport на другой локальный компьютер, который должен быть прокси. Вопрос в том, как передать трафик ssl на определенный сервер сайта (который уже использует ssl) по имени хоста сайта?

0
Вы можете посмотреть здесь - https://serverfault.com/q/718799/210623 Anaksunaman 6 лет назад 0
блеск. На полпути сделано. способ git.foo.com работает. Но когда я подключаюсь к api.foo.com (который работает на той же машине, что и git.foo.com), открывается git.foo.com. qmor 6 лет назад 0

1 ответ на вопрос

1
qmor

Сделал это используя apache.

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

Похожие вопросы