我为 billing.example.com 设置了两个本地虚拟主机(http 和自签名 https),并在 firefox 中使用 firebug 尝试它们。Http vhost 的唯一目的是将所有请求重定向到 https。
几乎每次我从 https 请求页面时,都会有一个或两个具有相关资源(图像、js、css 等)的文件,有时 php 页面本身会在 firebug 窗口中返回 400 bad request,有时会显示一两个文件加载很长时间。当我单击 firebug 中的问题链接时,文件会按应有的方式加载。此外,几乎每次我加载页面时,错误的请求或未加载的文件都会发生变化。
有任何想法吗?
服务器:Ubuntu 10.04、Apache/2.2.14 和 mod_ssl
虚拟主机:
Listen 80
<VirtualHost *:80>
ServerName billing.example.com
UseCanonicalName On
DocumentRoot /code/site/billing
...
RewriteEngine On
RewriteRule ^/(.*)$ https://billing.example.com/$1
</VirtualHost>
Listen 443
<VirtualHost *:443>
ServerName billing.example.com
UseCanonicalName On
DocumentRoot /code/site/billing
...
SSLEngine On
SSLCertificateFile /code/site/ssl/example.crt
SSLCertificateKeyFile /code/site/ssl/example.key
</VirtualHost>
其余是 ubuntu apache2 的默认设置。