我正在使用Apache前面的负载平衡器在SSL上运行一个站点,完成所有的证书处理和解密。我让HTTP流量通过负载平衡器,这样Apache就可以处理重定向。当流量被重定向到HTTPS页面时,负载均衡器进行解密,并将请求转发到我想要的任何端口。
http ->负载均衡器:80-> apache:80 -> 301 url:443
https ->负载平衡器:443-解密通信量->apache:我想要的任何端口
我可以为我的所有vhost使用除80之外的任何端口,以避免重定向循环(端口444在下面的配置中工作得很好),但是为了使Apache信任与非生产环境的一致性,我想知道我是否可以将端口443用于VirtualHosts,尽管实际上Apache中没有启用端口443。
我想我可以将SSLEngine off放在<VirtualHost *:443>中,强制这个端口不使用SSL,因为默认的SSL端口似乎试图启用SSL,但是Apache在Debian 6上并没有从这个配置开始(我已经注释掉了/etc/apache2/ports.confbtw中的所有内容)。
[error] Server should be SSL-aware but has no certificate configured [Hint: SSLCertificateFile]
So...how我可以使用端口443与SSL禁用?
NameVirtualHost *:80
Listen 80
<VirtualHost *:80>
# Force SSL
RewriteEngine On
RewriteCond %{HTTPS} !=on
RewriteRule ^/(.*) https://%{HTTP_HOST}/$1 [R=301,L]
</VirtualHost>
NameVirtualHost *:443
Listen 443
<VirtualHost *:443>
SSLEngine Off
DocumentRoot /var/www
<Directory /var/www/>
Options All
AllowOverride All
Order allow,deny
allow from all
</Directory>
</VirtualHost>sudo a2dismod ssl
sudo apachectl restart发布于 2012-03-19 11:09:55
答案是完全禁用mod-ssl。
sudo a2dismod ssl
sudo apachectl restart发布于 2013-01-24 00:54:44
在ports.conf中将端口443定义为http (用于debian)
例如:
NameVirtualHost *:443
听443 http
https://serverfault.com/questions/369523
复制相似问题