ruby-on-rails – Rails SSL问题:(https://example.com)与reque
发布时间:2020-12-16 23:25:14 所属栏目:百科 来源:网络整理
导读:我刚刚在我的网站上安装了SSL证书.不幸的是,它破坏了登录功能.在网站上提交登录表单后,它只会重定向到主页.检查rails日志会显示以下错误: (https://example.com) didn't match request.base_url (http://example.com) 这是我的virtualhosts文件.我想我需要
我刚刚在我的网站上安装了SSL证书.不幸的是,它破坏了登录功能.在网站上提交登录表单后,它只会重定向到主页.检查rails日志会显示以下错误:
(https://example.com) didn't match request.base_url (http://example.com) 这是我的virtualhosts文件.我想我需要以某种方式强制使用SSL? <VirtualHost *:80> ServerName example.com ServerAlias www.example.com Redirect permanent / https://example.com/ </VirtualHost> <VirtualHost *:443> ServerAdmin hello@example.com ServerName example.com ServerAlias www.example.com SSLEngine on SSLCertificateFile /home/user/sharetribe/lib/certificates/www_example_com.crt SSLCertificateKeyFile /home/user/sharetribe/lib/certificates/example.com.key SSLCertificateChainFile /home/user/sharetribe/lib/certificates/www_example_com.ca-bundle ProxyRequests Off <Proxy *> Order deny,allow Allow from all </Proxy> ProxyPass / http://localhost:3000/ ProxyPassReverse / http://localhost:3000/ </VirtualHost> 解决方法
只是遇到同样的错误.在config / environments / production.rb中,请确保已设置:
config.force_ssl = true 虽然与此问题没有严格关联,但在设置此设置后,您需要确保您的反向代理(如果有的话)设置为通过从代理发送X-Forwarded-Proto标头来转发用于rails的协议.轨道.这样做的方式取决于您使用的反向代理(Apache,nginx等)以及如何配置它,因此最好查找您正在使用的反向代理的特定文档. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |