Назад | Перейти на главную страницу

SSL виртуального хоста Apache за обратным прокси

У меня есть веб-сервер (обратный прокси-сервер Apache) перед моим сервером приложений (Apache), и я пытаюсь передать общее имя для SSL.

Мой веб-сервер (обратный прокси-сервер Apache) настроен на сохранение имени хоста (ProxyPreserveHost On)

Как на моем сервере приложений (Apache) настроить виртуальный хост для получения имени хоста, переданного прокси-сервером?

Я получаю такие ошибки:

[warn] RSA server certificate is a CA certificate (BasicConstraints: CA == TRUE !?)
[warn] RSA server certificate CommonName (CN) `appserver01' does NOT match server name!?

Нужно ли мне что-нибудь дополнительно включать на моем сервере приложений (конфигурация Apache)? Вот как выглядит мой vhost:

NameVirtualHost *:80
Header always append X-Frame-Options SAMEORIGIN

<VirtualHost *:80>
    DocumentRoot /var/www/app
    ServerName www.app.com
    ServerAlias app.com
    ServerAlias appserver01.domain.com

    <Directory /var/www/app>
        Options All
        AllowOverride All
    </Directory>

</VirtualHost>

<VirtualHost IP_OF_WEB_SERVER_HERE:443>
    DocumentRoot /var/www/app
    ServerName www.app.com
    ServerAlias app.com
    ServerAlias appserver01.domain.com

    <Directory /var/www/app>
        AllowOverride All
    </Directory>

    SSLProxyEngine On
    SSLEngine On
    SSLCertificateFile    /etc/ssl/certs/www_app_com_cert.cer
    SSLCertificateKeyFile /etc/ssl/certs/www_app_com.key
    SSLCACertificateFile /etc/ssl/certs/ca-bundle.crt

</VirtualHost>

В основном я хочу, чтобы имя хоста проходило через прокси-сервер, чтобы мой сертификат SSL работал. У меня включен ProxyPreserveHost, но он, похоже, не работает, поскольку веб-сервер Apache все еще видит имя хоста как внутреннее имя хоста «appserver01» вместо «www.app.com».

Спасибо

Попробуйте включить прокси-сервер SSL:

SSLProxyEngine On