Rails - .htaccess不强制用户使用https

时间:2016-05-20 06:25:28

标签: ruby-on-rails .htaccess ruby-on-rails-4 ssl google-cloud-platform

我希望用户只能访问网站的https版本。我想通过.htaccess文件可以做到这一点。我已经添加了SSL证书,并且一切正常。

我创建了.htaccess文件,并在其中添加了以下代码(替换'示例'使用域名)

RewriteEngine On 
RewriteCond %{SERVER_PORT} 80 
RewriteRule ^(.*)$ https://example.com/$1 [R=301,L]

我部署了它并访问了http://example.com/,它的加载效果很好。

我不知道是否因为它是一个rails应用程序,我可能需要将.htaccess文件放在公共文件夹中,或者我还需要做更多。但是根据我的阅读,这应该有用。

我使用谷歌云平台来托管我的网站,而且我找不到VM服务器类型,所以也许它不是运行.htaccess文件的正确服务器类型?

我希望有人知道如何让这个工作。

1 个答案:

答案 0 :(得分:0)

使用.htaccess尝试以下操作:

RewriteEngine On
RewriteCond %{HTTPS} !=on
RewriteRule ^.*$ https://%{SERVER_NAME}%{REQUEST_URI} [R,L]

但是,使用Rails,您可以在环境配置中使用以下内容:

config.force_ssl = true