2012-04-11 151 views
1

我試圖在子域上實現https。我已經包括SSL_requriment插件Ruby on Rails的HTTPS實現

我的應用程序控制器有兩種說法:

include SslRequirement 
    ssl_required if ENV["RAILS_ENV"] == "production" 

我已經生成的密鑰,CSR與CRT和Apache的配置文件中指定的:

<VirtualHost *:80> 
    ServerName app.my_app.com 
    DocumentRoot /home/me/my_app/production/current/public 
    </VirtualHost> 
    <VirtualHost *:443> 
    ServerName app.my_app.com 
    DocumentRoot /home/me/my_app/production/current/public 
    SSLEngine on 
    SSLCertificateFile /home/me/my_app/production/shared/plusrev.crt 
    SSLCertificateKeyFile /home/me/my_app/production/shared/plusrev.key 
    </VirtualHost> 

不過我的子域是不重定向到https。任何我想念的東西。

回答

0

這是解決方案。

使用

gem 'grosser-ssl_requirement', :require => 'ssl_requirement' 
在你的Gemfile

。這裏是gem guide

在應用程序控制器:

include SslRequirement 
ssl_required :all if ENV["RAILS_ENV"] == "production" 
0

沒有任何操作傳遞給ssl_required。不過,我想你想添加

def ssl_required? 
    true 
end 

您的控制器,因此默認情況下所有操作都需要https。

插件API並不明顯,因此請查看代碼。

+0

請檢查我的答案:) – 2012-04-11 09:41:06