Я настроил два локальных виртуальных хоста (http и самозаверяющий https) для billing.example.com и попробовал их в firefox с помощью firebug. Единственная цель Http vhost - перенаправить все запросы на https.
Почти каждый раз, когда я запрашиваю страницу с https, один или два файла со связанными ресурсами (изображения, js, css и т. д.), а иногда и сама страница php возвращает 400 неверных запросов в окне firebug, иногда один или два файла отображаются как загруженные для долго. Когда я нажимаю на проблемную ссылку в 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.
https://billing.example.com/
? Я не уверен, что стал бы полностью переписывать все пространство URI с HTTP на HTTPS: это заставит все запросы, сделанные через HTTP, работать так, как если бы они были через HTTPS, и люди, как правило, отключают уведомление о том, что они собираются с HTTPS на HTTP, чтобы они не заметили (небезопасное) перенаправление. Вероятно, лучше сделать так, чтобы он не работал, если используется HTTP (или, по крайней мере, перенаправить все в корень:https://billing.example.com/
). - person Bruno   schedule 27.10.2010