У меня есть виртуальный хост apache для порта 80, на котором размещено приложение для рельсов 3 phusion для пассажиров. Я хотел бы, чтобы некоторые действия приложения переключались на https (порт 443). Каков наилучший способ поделиться одним экземпляром приложения phusion-пассажирских рельсов между двумя vhosts?Share Rails 3 Развертывание межсетевого взаимодействия между HTTP и HTTPS
Прямо сейчас, у меня есть:
<VirtualHost *:80>
ServerName mycompany.com
ServerAlias www.mycompany.com
RackBaseURI/
DocumentRoot /home/ubuntu/mycompany/public
<Directory /home/ubuntu/mycompany/public >
Options FollowSymLinks
AllowOverride None
Order allow,deny
Allow from all
</Directory>
</VirtualHost>
and
<VirtualHost _default_:443>
ServerName shop.mycompany.com
SSLEngine On
ProxyPass/http://localhost/
ProxyPassReverse/http://localhost/
ProxyPreserveHost On
SSLCertificateFile /etc/ssl/...
SSLCertificateKeyFile /etc/ssl/...
SSLCertificateChainFile /etc/ssl/...
</VirtualHost>
Я знаю, что это не идеал вообще. Должен быть лучший способ. Я не хочу, чтобы все запросы проходили через https из-за накладных расходов.
Майк
К сожалению, я пытаюсь решить проблему с помощью apache. Apache и mod_rails запускают два экземпляра моего приложения для портов 80 и 443. Сейчас я использую mod_proxy для пересылки между ними. Я надеялся, что есть лучший способ. – mike
А я вижу, вы смотрите на уровень апачей. Это первый раз, когда я видел такую конфигурацию, как ваша :). Интересно, действительно ли это эффективно сделать это по-твоему. – kasperite