お名前メールのサーバーのDNS設定
お名前.comでドメインを取得し、メールサーバーもお名前メールを使っている場合、通常のお名前.comのDNS関連機能設定のところからではDNSの設定ができなくて手間取ったので備忘録として。
- お名前.comのメニューの「メール」から、DNSを変更したいドメインにログイン。
- 「サービス設定」から「独自ドメイン設定」を選択。
- 変更したいドメイン名の「DNS設定」 を押す。
- 以下のような感じで設定する。
HerokuアプリをSSL対応する
基本的な流れはこちらの記事の流れが参考になります。
参考:お名前.comで購入したドメインをHerokuに設定する
上記記事のページのお名前.com側の設定の部分を、本記事 お名前メールのサーバーのDNS設定 の流れに置き換えればOKです。赤のマスク部分をHEROKUアプリの Settings 内の Domains and certificates にあるDNSターゲットの通りに設定します。
wwwつきのドメインだけならこれでOK。
ルートドメインも同じようにSSL対応しようとすると少し大変になるようです。
今回はやらなかったのでここでは割愛。ルートドメインもやりたい方は以下など参考に。
参考:Heroku + お名前.com で SSL 通信を行う
httpからhttpsにリダイレクトする
サイト上のすべてのページでhttpからhttpsにリダイレクトさせるため、configのforce_sslをtrueに。デフォルトではコメントアウトされています。
# Force all access to the app over SSL, use Strict-Transport-Security, and use secure cookies.
config.force_ssl = true
参考:railsアプリケーションをhttpsでアクセスできるようにするまでのこと。
何らかの事情でコントローラー、アクション単位でリダイレクトしたいとかならこんな感じで。
class ApplicationController < ActionController::Base
before_action :redirect_to_https
def redirect_to_https
return unless /http:\/\/www.hogehoge.com/ =~ request.host
end
end
参考:【Rails】herokuapp.comから独自ドメインに301リダイレクトを行う方法
cookie情報の漏洩を防ぐ
こちらに関しては以下の記事が詳しいです。
参考:Railsエンジニアが安心して新年を迎える方法
# Be sure to restart your server when you modify this file.
Rails.application.config.session_store :cookie_store, key: '_hogehoge_session', secure: Rails.env.production?
httpsに対応したのに「このサイトへの接続は完全に保護されていません」と出る場合
画像等を置いているAWS等のサーバーへのリンク、JavaScriptやCSSのCDNのリンク先にhttpがあるとchromeで「!」マークが出ます。
リンク先がhttpかどうかも確認しましょう。