加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

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等)以及如何配置它,因此最好查找您正在使用的反向代理的特定文档.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读