2011-07-11 3 views
2

私のアプリには、user.example.comとpublic.example.comという異なるサブドメインからアクセスされるユーザー向けページと公開用ページがあります。rails 3:特定のドメイン名(または複数)に対してのみhttpsリダイレクト

私はuser.example.comのSSL証明書を持っています。ユーザーがhttps経由で入ってくるとすべて正常に動作します。

私はどのように私のアプリケーションで使用されるすべてのドメインのhttpsにリダイレクトするのか知っていますが、特定のドメインは1つではありません。

しかし、誰かがhttp://user.example.comに入った場合、他のサブドメイン(またはドメイン)に対してnay specialリダイレクトを行わずにhttps://user.example.comにリダイレクトしたいと思います。

特定のサブドメインにあるすべてのリクエストをhttpsにリダイレクトする方法はありますか。

答えて

1

ウェブサーバー(Apache、nginxなど)の設定が最適です。あなたはそれへのアクセス権を持っていない場合は、request.hostrequest.ssl?例えば:

面白そう
def redirect_user_subdomain_to_https 
    if 'user.example.com' == request.host && !request.ssl? 
    redirect_to request.url.gsub(/^http/, 'https') 
    return false 
    end 
end 
+1

、感謝に対して比較ApplicationControllerにでbefore_filterを書きます。私はherokuにいるので、いいえ、Webサーバーの設定にアクセスできません。ありがとう! – jpwynn

+0

私はherokuアプリでこの基本的な方法を使っています。 –

関連する問題