我是Rails的新手,如果我尝试使用SSL连接访问我的测试应用程序,我正在努力解决阻止我的资产被发现的问题。
作为我所指的内容的一个示例,如果您尝试访问
http://domain.com/testapp默认的rails页面加载正常,我没有任何问题。
您还可以访问我使用此路线创建的页面
http://domain.com/testapp/static_pages/home
但是,如果通过HTTPS访问相同的地址,则会为我的所有资产返回404错误。我也无法访问任何路线(它们都返回404)。
https://domain.com/testapp/static_pages/home
我目前正在使用安装了Passenger的Apache服务器,这就是我的虚拟主机配置:
<Directory /var/www/testapp/public>
PassengerEnabled on
PassengerAppRoot /var/www/testapp
RailsBaseURI /testapp
</Directory>
为什么会发生这种情况的任何想法?
谢谢,
罗格
答案 0 :(得分:1)
答案 1 :(得分:0)
谢谢大家,我终于弄明白发生了什么,为了其他有同样问题的人的利益,虚拟主机配置只被应用到默认端口(80)所以我不得不指定端口443。
<VirtualHost *:80 *:443>
<Directory /var/www/testapp/public>
PassengerEnabled on
PassengerAppRoot /var/www/testapp
RailsBaseURI /testapp
</Directory>
</VirtualHost>
对于使用Media Temple的DV服务器的用户,必须在两个单独的文件中指定此配置(确保删除VirtualHost
标签)。
vhost.conf
vhost_ssl.conf
不要忘记重启apache。
/usr/sbin/apachectl -K graceful