Обратный прокси-сервер Apache от виртуального хоста на основе имени к хосту на основе IP с SSL - PullRequest
0 голосов
/ 09 января 2019

У меня есть сервер шлюза (обратный прокси-сервер), настроенный на 2 виртуальных хоста на основе имен, которые ProxyPass соединяет с исходным сервером на 2 разных портах (8008 и 8080).

Сайт № 1:

    <IfModule mod_ssl.c>
    <VirtualHost *:443>
            ServerName DOMAIN1.com

            ProxyPreserveHost on
            ProxyPass               /       http://123.45.6.7:8008/
            ProxyPassReverse        /       http://123.45.6.7:8008/

            ErrorLog ${APACHE_LOG_DIR}/DOMAIN1.com-ssl-error.log
            CustomLog ${APACHE_LOG_DIR}/DOMAIN1.com-ssl-access.log combined

            SSLCertificateFile /etc/letsencrypt/live/DOMAIN1.com/fullchain.pem
            SSLCertificateKeyFile /etc/letsencrypt/live/DOMAIN1.com/privkey.pem
            Include /etc/letsencrypt/options-ssl-apache.conf
    </VirtualHost>
    </IfModule>

Сайт № 2:

    <IfModule mod_ssl.c>
    <VirtualHost *:443>
            ServerName DOMAIN2.com

            ProxyPreserveHost on
            ProxyPass               /       http://123.45.6.7:8080/
            ProxyPassReverse        /       http://123.45.6.7:8080/

            ErrorLog ${APACHE_LOG_DIR}/DOMAIN2.com-ssl-error.log
            CustomLog ${APACHE_LOG_DIR}/DOMAIN2.com-ssl-access.log combined

            SSLCertificateFile /etc/letsencrypt/live/DOMAIN2.com/fullchain.pem
            SSLCertificateKeyFile /etc/letsencrypt/live/DOMAIN2.com/privkey.pem
            Include /etc/letsencrypt/options-ssl-apache.conf
    </VirtualHost>
    </IfModule>

На Origin Server я ловлю их так:

    Listen 123.45.6.7:8008
    Listen 123.45.6.7:8080

    <VirtualHost 123.45.6.7:8008>

            DocumentRoot /home/USER1/DOMAIN1-be.com
            <Directory /home/USER1/DOMAIN1-be.com>
                    AllowOverride all
                    Require all granted
            </Directory>

            ErrorLog ${APACHE_LOG_DIR}/DOMAIN1-be.com-error.log
            CustomLog ${APACHE_LOG_DIR}/DOMAIN1-be.com-access.log combined

    </VirtualHost>

    <VirtualHost 123.45.6.7:8080>

            DocumentRoot /home/USER2/DOMAIN2-be.com
            <Directory /home/USER2/DOMAIN2-be.com>
                    AllowOverride all
                    Require all granted
            </Directory>

            ErrorLog ${APACHE_LOG_DIR}/DOMAIN2-be.com-error.log
            CustomLog ${APACHE_LOG_DIR}/DOMAIN2-be.com-access.log combined

    </VirtualHost>

Как видите, клиент -> Шлюзное соединение SSL. Шлюз -> Исходное соединение с сервером отсутствует.

Есть ли способ или даже выгодно использовать SSL при подключении от шлюза к серверу Origin без переключения на виртуальный хостинг на основе имен на сервере источника?

...