質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.50%
Apache

Apacheは、Apache HTTP Serverの略で、最も人気の高いWebサーバソフトウェアの一つです。安定性が高いオープンソースソフトウェアとして商用サイトから自宅サーバまで、多くのプラットフォーム向けに開発・配布されています。サーバーソフトウェアの不具合(NCSA httpd)を修正するパッチ(a patch)を集積、一つ独立したソフトウェアとして開発されました。

SSL

SSL(Secure Sockets Layer)とは、暗号化されたプロトコルで、インターネット上での通信セキュリティを提供しています。

Elastic Load Balancing

Elastic Load Balancingは、Amazon社が提供する、 EC2インスタンス間で自動的にトラフィックの負荷分散を行うサービスです。

Laravel 5

Laravel 5は、PHPフレームワークLaravelの最新バージョンで、2014年11月に発表予定です。ディレクトリ構造がが現行版より大幅に変更されるほか、メソッドインジェクションやFormRequestの利用が可能になります。

Q&A

解決済

1回答

3385閲覧

Laravel ELB:Port443->EC2:Port80 で「was loaded over HTTPS」

退会済みユーザー

退会済みユーザー

総合スコア0

Apache

Apacheは、Apache HTTP Serverの略で、最も人気の高いWebサーバソフトウェアの一つです。安定性が高いオープンソースソフトウェアとして商用サイトから自宅サーバまで、多くのプラットフォーム向けに開発・配布されています。サーバーソフトウェアの不具合(NCSA httpd)を修正するパッチ(a patch)を集積、一つ独立したソフトウェアとして開発されました。

SSL

SSL(Secure Sockets Layer)とは、暗号化されたプロトコルで、インターネット上での通信セキュリティを提供しています。

Elastic Load Balancing

Elastic Load Balancingは、Amazon社が提供する、 EC2インスタンス間で自動的にトラフィックの負荷分散を行うサービスです。

Laravel 5

Laravel 5は、PHPフレームワークLaravelの最新バージョンで、2014年11月に発表予定です。ディレクトリ構造がが現行版より大幅に変更されるほか、メソッドインジェクションやFormRequestの利用が可能になります。

0グッド

0クリップ

投稿2017/05/21 04:08

laravelでサイトを構築しており、下記の問題に数日悩んでいます。

概要

httpsでアクセス時、ajaxで読み込みが起きた時にChromeのコンソールに下記のエラーが出ます。

The page at 'https://some.aaa.com/' was loaded over HTTPS, but requested an insecure stylesheet 'http://some.aaa.com/_debugbar/assets/stylesheets?1432136693'. This request has been blocked; the content must be served over HTTPS.

laravel-debugbarを使用しているのですが、下記ページと同様の問題も起きます。

https://github.com/barryvdh/laravel-debugbar/issues/347

ソースを見ると、jsやcssを読み込んでいるリンクは下記になっており、httpやhttpsは指定されていません

<link rel='stylesheet' type='text/css' property='stylesheet' href='//some.aaa.com/_debugbar/assets/stylesheets?v=1484813989'> <script type='text/javascript' src='//some.aaa.com/_debugbar/assets/javascript?v=1483605979'></script><script type="text/javascript">

ajaxは下記のように、http等は指定されていません。

$.ajax({ type: "POST", async: true, url: "/aaa", dataType: "json", success: function (data) { // } });

対策としては下記を行いました。
生成するURLがhttpになる問題があったのですが、下記2点で解決しました。

・TrustedProxyを追加
https://github.com/fideloper/TrustedProxy

・"\URL::forceSchema('https');"追加
https://teratail.com/questions/58148

しかし、それでも"was loaded over HTTPS"の問題だけ解決しません。

サーバ構成

ELB:80 -> EC2:80
ELB:443 -> EC2:80
httpでアクセスされた場合はEC2のapache2.4でhttpsにリダイレクトさせています。

ApacheのVirtualHostはこのようにしています。

<VirtualHost *:80> ServerName dev.example.com:80 RewriteEngine On RewriteCond %{HTTP:X-Forwarded-Port} !^443$ RewriteCond %{HTTP_USER_AGENT} !^ELB-HealthChecker RewriteCond %{REQUEST_URI} !=/server-status RewriteCond %{HTTP:X-FORWARDED-FOR} !^$ RewriteRule ^(.*)?$ https://%{HTTP_HOST}$1 [R=301,L] DocumentRoot "/home/example" <Directory "/home/example"> Options FollowSymLinks ExecCGI AllowOverride all Require all granted </Directory> </VirtualHost>

ちなみに、EC2にも証明書を設定して、
ELB:443 -> EC2:443
にすると問題ありません。

どうそよろしくお願いします。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

ベストアンサー

The page at 'https://some.aaa.com/' was loaded over HTTPS, but requested an insecure stylesheet 'http://some.aaa.com/_debugbar/assets/stylesheets?1432136693'. This request has been blocked; the content must be served over HTTPS.

ここに書かれているように、httpsできたリクエストに対して、スタイルシートがhttpでアクセスしているのでセキュリティが落ちていることが原因ですね。

ソースを見ると、jsやcssを読み込んでいるリンクは下記になっており、httpやhttpsは指定されていません

ソース内で必ずhttpsでアクセスするように変更するか、Virtualhost:443の設定をすればよいかと思います。

ちなみにSSLはずっとSSLでセキュリティ確保されるべきなのですので、SSLのまま通信させるのが通例です。

投稿2017/06/07 03:58

lazhuward

総合スコア1294

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

退会済みユーザー

退会済みユーザー

2017/06/07 11:45 編集

できればhttpsやhttpを指定しないで済ませたいんですよね。 laravel-debugbarはプラグインなので、ソースをいじりたくないです。 また、sslの設定を簡素化するために、ELB<=>EC2の通信はhttpにしたいと思っています。 CE2にもsslを設定して、ELB<=>EC2をhttpsにすればこの問題は起きないです。
退会済みユーザー

退会済みユーザー

2018/01/24 07:52

だいぶ時間があいてしまってもうしわけありません。 以前の問題は未解決のまま放置になってしまってますが、 別のプロジェクトでlaravel5.5を使用した際は問題なく動きました。 未解決のプロジェクトは5.3なので再度挑戦してみようと思います。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.50%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問