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社でエンジニアインターンを経験しました。 23卒で、自社開発ベンチャー企業に入社しエンジニア・デザイナーとして働き、2024年2月、起業しました! このブログでは、ブログ開設方法・プログラミング・音大からエンジニアになれた方法など書いています。 お仕事依頼はお問い合わせフォームからお問い合わせお願いします。 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社でエンジニアインターンを経験しました。 23卒で、自社開発ベンチャー企業に入社しエンジニア・デザイナーとして働き、2024年2月、起業しました! このブログでは、ブログ開設方法・プログラミング・音大からエンジニアになれた方法など書いています。 お仕事依頼はお問い合わせフォームからお問い合わせお願いします。 Zenn

-AWS, EC2, Ruby on Rails