AWS EC2 Ruby on Rails

SSl化した後、Railsでmixed content the page at ' url ' was loaded over https...と言われる。

本サイトの記事内にアフィリエイト広告が含まれる場合があります。

Railsでmixed content the page at ' url ' was loaded over https...のサムネイル画像

awayuki

音大出身。学生時代はフリーランスでWEB制作・開発しながら、2社で長期エンジニアインターンを経験しました(2年半)。 23卒で、自社開発ベンチャー企業に入社しエンジニア・デザイナーとして働き、2024年1月起業しました! このブログでは、ブログ開設方法・プログラミング・音大からエンジニアになれた方法など書いています。 お仕事依頼はお問い合わせフォームからお問い合わせお願いします。 Zenn

RailsアプリをEC2/Nginx構成にLet’s Encryptを使って無料でSSL化した環境で、ブラウザコンソールを見ると以下のようなエラーが出ていました。

mixed content the page at ' url ' was loaded over https...

これは、HTTPSサイトから配信されるデータの中にHTTPで送られるコンテンツが含まれている時に発生するエラーです。

私の場合、SSL化した時すぐにエラーが出て、画像がHTTP経由で読み込まれていました。

結論

config/environments/production.rb の中のconfig.asset_hostの中身を自分のサイトのドメインに変更します。

config.asset_host = "yoursitedomain.com"

静的ファイルのコンパイルのコマンドを実行します。

bundle exec rails assets:precompile RAILS_ENV=production 

これでMixed Contentのエラーはなくなるはず…!

治らなければ、pumaを再起動してみてください。

  • この記事を書いた人

awayuki

音大出身。学生時代はフリーランスでWEB制作・開発しながら、2社で長期エンジニアインターンを経験しました(2年半)。 23卒で、自社開発ベンチャー企業に入社しエンジニア・デザイナーとして働き、2024年1月起業しました! このブログでは、ブログ開設方法・プログラミング・音大からエンジニアになれた方法など書いています。 お仕事依頼はお問い合わせフォームからお問い合わせお願いします。 Zenn

-AWS, EC2, Ruby on Rails