【发布时间】:2012-02-10 05:36:43
【问题描述】:
我遇到了 HTTPS 问题,我似乎无法靠自己或通过任何研究来解决。有时,HTTPS 请求会超时并导致“未收到数据”错误。当我使用从 HTTP 到 HTTPS 的虚拟主机重定向时,通常会发生这种情况。它不会每次都发生,机器人可能八分之一,它只是坐到它超时。 我通过 Amazon 负载均衡器将其传递到在 Ubuntu 10.04 上运行 Apache 2 的服务器 (EC2)。 我不知道这是否是重定向问题,尽管似乎不是。这很可能是设置问题,所以我将把我的设置放在下面以便您查看。
我想尽快解决这个问题,任何帮助将不胜感激。 提前致谢!
为“myurl.com”启用的站点中的虚拟主机文件。这应该对除了 deploy.php 之外的所有内容强制使用 HTTPS。
<VirtualHost *:80>
ServerName myurl.com
RewriteEngine On
RewriteCond %{HTTPS} !=on
RewriteCond %{THE_REQUEST} !^[A-Z]+\s/deploy.php [NC]
RewriteRule !^deploy.php https://%{HTTP_HOST}%{REQUEST_URI} [NC,R=301,L]
</VirtualHost>
启用站点中“myurl-ssl”的虚拟主机文件。
<VirtualHost *:80>
ServerName www.myurl.com
RewriteCond %{HTTPS} !=on
RewriteCond %{THE_REQUEST} !^[A-Z]+\s/deploy.php [NC]
RewriteRule !^depoy.php https://%{HTTP_HOST}%{REQUEST_URI} [NC,R=301,L]
NameVirtualHost *:443
</VirtualHost>
<IfModule mod_ssl.c>
<VirtualHost *:443>
SSLEngine on
ServerAdmin admin@myurl.com
ServerName myurl.com
SSLCertificateFile /etc/apache2/certs/myurl.pem
SSLCertificateKeyFile /etc/apache2/certs/private.key
SSLCertificateChainFile /etc/apache2/certs/AddTrustExternalCARoot.crt
SSLProtocol all
SSLCipherSuite HIGH:MEDIUM
DocumentRoot /var/www
ErrorLog /var/log/apache2/error.log
LogLevel info
CustomLog /var/log/apache2/access.log combined
</VirtualHost>
同样,问题似乎出在我的设置中或重定向到强制使用 HTTPS 时出现“未收到数据”错误(Chrome 中为 324,但每个浏览器都会出现此问题)。我确实相信这与我们在某处的 HTTPS 设置有关,但我无法弄清楚它是什么。
谢谢!
【问题讨论】:
标签: ubuntu https apache2 amazon-ec2