У меня есть веб-сервер (обратный прокси-сервер 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