2011-09-09 13 views
2

ドメイン用のVerisign SSLをhttps://www.domainname.comに購入しました。問題はそれがhttps://domainname.comのために働かないということです。私はssl_requirement宝石を使用しています:https://github.com/rails/ssl_requirementRails 3.0.10とSSLリダイレクション(非wwwからwww、httpからhttpsへ)

だから私はまたhttps://www.domainname.comに非WWWものをリダイレクトするために宝石をパッチを適用し、それが次のシナリオのためによく働いた:

http://www.domainname.com =>https://www.domainname.com ます。http://ドメイン名。 COM =>https://www.domainname.com

ではなく、シナリオのところに誰かの種類:

https://domainname.com

Railsが制御を取る前に、サーバーがエラーをスローしているようです。

OS:RHEL 5.5 ルビー:1.9.2 レール:3.0.10(RVM上) Webサーバ:Apacheの旅客とのあなたの助けのための

おかげでここでサーバーの詳細です。

答えて

2

は、ここでこれはwwwディレクトリのルートレベルにある.htaccessファイルに行くwww.domainname.com

RewriteEngine on 
RewriteCond %{HTTP_HOST} ^domainname.com [nc] 
RewriteRule (.*) http://www.domainname.com/$1 [R=301,nc] 

に私はdomainname.comからリダイレクトするために使用するコードです。 http://www.simonecarletti.com/blog/2011/05/configuring-rails-3-https-ssl/

+0

感謝!私はこれを試み、あなたに知らせるでしょう。 – RubyDev

1

あなたは、レールアプリケーションの公開ディレクトリにある.htaccessファイルを使用して、これをApacheレベルで処理する必要があります。 WWWの書き換えルールの

これはSO答える参照:use htaccess to add www with https support

をまた、あなたはあなたの全体のアプリをSSLに行く場合は、ラックを見て:: SSLミドルウェアを - それは、セキュアクッキーなどを処理します。この投稿は、それを使用して良い書き込みを持ち、混在したコンテンツの警告も避けています。

http://collectiveidea.com/blog/archives/2010/11/29/ssl-with-rails/

は、この情報がお役に立てば幸いです。

注:ちょうど考えて、これはまだ動作しないかもしれませんが、そのシナリオを処理するために特定のVirtualHostをセットアップしなければならないかもしれません。

1

私はHerokuのは、.htaccessを使用していないので、特にラック書き換え宝石は、ここに特に有用であることが判明しました:

は、ここでのRails 3.1でのSSLについては、別の過去記事です。宝石:https://github.com/jtrupiano/rack-rewrite

ここでの設定例は、設定/環境/ production.rbにあります

ExampleApp::Application.configure do 
    config.middleware.insert_before(Rack::Lock, Rack::Rewrite) do 
    r301 /.*/, Proc.new {|path, rack_env| "http://www.#{rack_env['SERVER_NAME']}#{path}" }, :if => Proc.new {|rack_env| rack_env['SERVER_NAME'] !~ /www\./i} 
    end 
    #... the rest of production environment config. 
end 

で私の要旨として、それをチェックアウト:https://gist.github.com/1843097

関連する問題