Apache虚拟主机SSL在反向代理之后

我有一个Web服务器(Apache反向代理)在我的应用程序服务器(Apache)前,我试图通过公共名称的SSL。

我的Web服务器(Apache反向代理)设置为保留主机名(ProxyPreserveHost开)

在我的应用程序服务器(Apache)上,如何configuration我的虚拟主机以使代理服务器传递的主机名可以被启动?

我得到这样的错误:

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

我是否需要通过我的应用程序服务器(Apacheconfiguration)进行额外的转换? 这是我的虚拟主机的样子:

 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 Web服务器仍然将主机名视为内部主机名“appserver01”而不是“www.app.com”。

谢谢

尝试启用SSL代理引擎:

 SSLProxyEngine On