2
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.

【Laravel】formからPOSTすると「Mixed Content Error」となりSSLが無効になる

Last updated at Posted at 2021-03-25

HerokuにLaravelアプリをデプロイしてformからpostしたらいきなりSSLが無効になった。。。

検証ツールのconsoleでログを見てみると、、、

' was loaded over a secure connection, but contains a form that targets an insecure endpoint '

「安全な接続を介してロードされましたが、安全でないエンドポイントを対象とするフォームが含まれています」と書いてある。

実際の挙動も、直前のページまではhttpsだったがformのsubmit実行をしたら急にhttpになりSSLが無効に。。
当然chromeから「安全な接続ではないが送信しますか?」と聞かれ、意図した遷移がされない

原因

   <form method="post" action="{{ url('/if_stories') }}">
       @csrf
        
        
   </form>

urlヘルパーだと渡したパスがhttpで生成されてしまうらしい、、、なので

   <form method="post" action="{{ secure_url('/if_stories') }}">
       @csrf
        
        
   </form>

「完全なHTTPS URLを生成する」secure_urlヘルパーに差し替えてデプロイしなおしたら直りました!

参考にさせていただいた記事:
https://readouble.com/laravel/5.5/ja/helpers.html
https://www.fixes.pub/program/28119.html

2
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
2
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?