gpt4 book ai didi

ruby-on-rails - Rails 不通过 SSL 呈现 Assets (404 未找到错误)

转载 作者:太空宇宙 更新时间:2023-11-03 15:05:37 25 4
gpt4 key购买 nike

我是 Rails 的新手,正在努力解决一个问题,如果我尝试使用 SSL 连接访问我的测试应用程序,我的 Assets 将无法被发现。

作为我所指的示例,如果您尝试访问

http://domain.com/testapp默认的 Rails 页面加载正常,我完全没有问题。

您也可以访问我使用此路由创建的页面

http://domain.com/testapp/static_pages/home

但是,如果通过 HTTPS 访问同一个地址,则会为我的所有 Assets 返回 404 错误。我也无法访问任何路由(它们都返回 404)。

https://domain.com/testapp

https://domain.com/testapp/static_pages/home

我目前正在使用安装了 Passenger 的 Apache 服务器,这是我的虚拟主机配置:

<Directory /var/www/testapp/public>
PassengerEnabled on
PassengerAppRoot /var/www/testapp
RailsBaseURI /testapp
</Directory>

对于为什么会发生这种情况有什么想法吗?

谢谢,

罗格

最佳答案

谢谢大家,为了其他有同样问题的人的利益,我终于弄清楚发生了什么,虚拟主机配置只应用于默认端口 (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

关于ruby-on-rails - Rails 不通过 SSL 呈现 Assets (404 未找到错误),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9984410/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com