У меня точно такая же конфигурация для моего сайта rails на промежуточном сервере и на производственном сервере, за исключением «промежуточной» и «производственной» в путях к файлам.
Оба они настроены для перенаправления всех запросов на порт 80 на версию SSL на 443.
Это работает правильно при постановке, но на производстве это просто показывает тестовую страницу Apache по умолчанию. Apache, похоже, не пересылает запросы пассажиру. Мои рельсовые журналы пусты. Журналы apache показывают все запросы, но ошибок нет.
Любые идеи?
В конце httpd.conf:
LoadModule passenger_module /usr/local/lib/ruby/gems/1.9.1/gems/passenger-3.0.19/ext/apache2/mod_passenger.so
PassengerRoot /usr/local/lib/ruby/gems/1.9.1/gems/passenger-3.0.19
PassengerRuby /usr/local/bin/ruby
Include /etc/httpd/conf/extra/httpd-vhosts.conf
vhosts.conf:
NameVirtualHost *:80
<VirtualHost *:80>
ServerName goodtogotraining.com
ServerAlias www.goodtogotraining.com
Redirect permanent / https://www.goodtogotraining.com/
</VirtualHost>
<VirtualHost www.goodtogotraining.com:443>
ServerName goodtogotraining.com
ServerAlias www.goodtogotraining.com
DocumentRoot /home/goodtogo/production/current/public
PassengerMaxPoolSize 18
RailsEnv production
SSLEngine on
SSLCertificateFile /etc/pki/tls/certs/ca.crt
SSLCertificateKeyFile /etc/pki/tls/private/ca.key
SSLCACertificateFile /etc/pki/tls/certs/ca.crt
<Directory /home/goodtogo/production/current/public>
Options -MultiViews
Allow from all
</Directory>
</VirtualHost>
Вы использовали полное доменное имя в своем SSL <VirtualHost>
.
<VirtualHost www.goodtogotraining.com:443>
Apache не рекомендует этого делать.
Полное доменное имя для IP-адреса виртуального хоста (не рекомендуется);
Чтобы решить эту проблему, используйте вместо него IP-адрес или *:
<VirtualHost *:443>