0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

【Rails小技】HerokuでSSL化強制させる方法【瞬速】

Posted at

今日は友人にherokuに上げたサイトを見てもらいました。

わし「これ作ったんだよ〜!見てよ!」

友人「ちゃんと機能作れてるやん〜。あれ、でもSNS認証がsomethinbg went wrongになってるよ」

わし「( ᵕ̩̩ㅅᵕ̩̩ )」

再度確認してみると、Google認証はエラーメッセージを吐いてくれてました。

google「400: redirect_uri_mismatch あーだこーだあーだこーだ」

わし「あれ〜なんか認証URLが間違ってるっぽいぞ。でもちゃんと認証URLもあってるような気が…( ᵕ̩̩ㅅᵕ̩̩ )」
デベロッパーサイトでOAuthのコールバックURLを確認し、APIキーも再入力したし、なんで…

と思っていたら、URLのところに「保護されていない通信」の文字が…あれ、herokuって基本SSL化されてるはずでは…
よく見るとURLが「http://」から始まっていました。結局僕のタイポでした。
これを「https://」に打ち直したらSNS認証は上手くいきました。めでたしめでたし…

##いい機会なのでSSL化強制しよう

ただのタイポで解決できてよかったですが、どんな時もSSL化できていないと危険です。
仮にhttpでアクセスされてもいいように、httpsへ強制的にリダイレクトさせたいです。

Railsでは以下の一行をコメントアウトすることでSSL化強制することができます。

config/environments/production.rb
Rails.application.configure do

  ・・・

  # Force all access to the app over SSL, use Strict-Transport-Security, and use secure cookies.
  config.force_ssl = true

  ・・・

end

鬼のように便利ですね〜

##独自ドメインだともうちょっと手間がかかりそう

今回はrails + herokuapp.comの場合の手段ですが、独自ドメインを取得した場合はもっと大変そう。
.htaccessとか色々勉強しなければなりませんね…という新たな課題も見つかりました。
フレームワークもいいけど、そもそもネットワークの知識が必要だなぁ〜って思いました。

おわり

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?