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

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

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

1 ответ1

1

Сделал это используя 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>

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .