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

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

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

Javaは、1995年にサン・マイクロシステムズが開発したプログラミング言語です。表記法はC言語に似ていますが、既存のプログラミング言語の短所を踏まえていちから設計されており、最初からオブジェクト指向性を備えてデザインされています。セキュリティ面が強力であることや、ネットワーク環境での利用に向いていることが特徴です。Javaで作られたソフトウェアは基本的にいかなるプラットフォームでも作動します。

Linux

Linuxは、Unixをベースにして開発されたオペレーティングシステムです。日本では「リナックス」と呼ばれています。 主にWebサーバやDNSサーバ、イントラネットなどのサーバ用OSとして利用されています。 上位500のスーパーコンピュータの90%以上はLinuxを使用しています。 携帯端末用のプラットフォームAndroidは、Linuxカーネル上に構築されています。

Struts

StrutsはJava向けのWebアプリケーションフレームです。MVCモデルに基づいており、JSPやJavaサーブレットを組み合わせ、アプリケーション構築時に使用する各機能を提供しています。

Q&A

解決済

2回答

8232閲覧

httpsのページ、Chromeでアドレスバー鍵の所に警告が出る。

spring

総合スコア48

Java

Javaは、1995年にサン・マイクロシステムズが開発したプログラミング言語です。表記法はC言語に似ていますが、既存のプログラミング言語の短所を踏まえていちから設計されており、最初からオブジェクト指向性を備えてデザインされています。セキュリティ面が強力であることや、ネットワーク環境での利用に向いていることが特徴です。Javaで作られたソフトウェアは基本的にいかなるプラットフォームでも作動します。

Linux

Linuxは、Unixをベースにして開発されたオペレーティングシステムです。日本では「リナックス」と呼ばれています。 主にWebサーバやDNSサーバ、イントラネットなどのサーバ用OSとして利用されています。 上位500のスーパーコンピュータの90%以上はLinuxを使用しています。 携帯端末用のプラットフォームAndroidは、Linuxカーネル上に構築されています。

Struts

StrutsはJava向けのWebアプリケーションフレームです。MVCモデルに基づいており、JSPやJavaサーブレットを組み合わせ、アプリケーション構築時に使用する各機能を提供しています。

0グッド

0クリップ

投稿2015/10/22 06:29

ブラウザで問題のページ(https)にアクセスすると下記のような警告が出る為
直そうとしています。

Chrome「~への接続は古い暗号スイートにより暗号化されています。
加えてこのページには安全でない他のリソースが含まれています。
このリソースは送信中に他のユーザーから見られる可能性があります。~~~」

Firefox「このWebサイトは認証されていません。 このWebサイトとの通信は部分的に安全ではありません。
画像などの暗号化されてない要素や、充分な強度で暗号化されてない要素が含まれています。」

Chromeのコンソールにて確認した所「Mixed Content: The page at'httpsのURL'was loaded over HTTPS, but requested an insecure image'httpの画像のURL'This content should also be served over HTTPS.」と14件程出ていました。
この画像を呼んでるのは、問題のjspから部品化している方のjspでhttpにて呼んでおります。

すみません、SSLの知識が浅く安直に画像のリンクをhttpsにすれば良いのか作業方法が分からずご教授頂けますでしょうか?

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

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

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

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

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

guest

回答2

0

画像の送信元のサーバがHTTPSに対応していれば、そのままHTTPSに書き換えるだけできちんと動作します。

ただ、配信元がHTTPのみの場合は、簡単には対応できません。画像をプロキシさせるなど、手の込んだ対応が必要になる場合もあります。

なお、「強度が弱い」と指摘されたのは別問題です。SSLLabsのチェックツールなどで、SSL強度にどのような問題があるのかのチェックができます。

投稿2015/10/22 06:32

編集2015/10/22 06:35
maisumakun

総合スコア145121

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

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

spring

2015/10/22 07:27

ご回答ありがとうございます。 >画像の送信元のサーバがHTTPSに対応していれば、そのままHTTPSに書き換えるだけできちんと動作します。 >ただ、配信元がHTTPのみの場合は、簡単には対応できません。画像をプロキシさせるなど、手の込んだ対応が必要になる場合もあります。 CDNサーバーの画像以外は動作できそう(ブラウザにてURLを何件かhttp→httpsに変えて問題無く表示された)です。 修正する場合はjspがhttps以外でも使用している共用のため、if文一回書く位で十分でしょうか? >なお、「強度が弱い」と指摘されたのは別問題です。SSLLabsのチェックツールなどで、SSL強度にどのような問題があるのかのチェックができます。 確認した所、何件かWEAKと出ていました(汗)画像リンクの件の後調べてみます!
maisumakun

2015/10/22 07:55

src="//some-server.com/"のように書いておけば、もともとHTTPならHTTPで、HTTPSならHTTPSで読み込むようになります(もっとも、HTTP環境からHTTPSのリソースを使っても問題ないので、https://決め打ちというのも、状況によってはありです)。
spring

2015/10/22 08:33

勉強になります。「//」で書く件は知りませんでした。 上記で修正してみます!
spring

2015/10/27 09:14

CDNから取得していた画像(http)をローカル開発環境のimagesに入れパスを記載しました。 <img src="CDNの画像パス/gazou.png" alt="TOP" /> ↓ <img src="../../images/gazou.png" alt="TOP" /> 下記フォルダ構成 webapp  css  images   ここに画像ファイルを入れた。  WEB-INF   ビュー    共通     CSS(../../images/画像ファイル)と書いたろ httpsのページではエラーが無くなったものの httpのページで上記記載した画像パスで404になってしまいます。 すみません、相対パスに関してCSSで(../../images/画像ファイル)のように記載した場合 そのCSSを起点に参照しに行く認識で間違っていないでしょうか? httpのページだけその画像を取りに行くとき余分なディレクトリを介して参照しております。 GET http://localhost:8080/~~/~~/~~/images/画像ファイル.gif 404 (Not Found) 上記画像のパスを指定している箇所は1つです。
spring

2015/10/27 12:55

上記はページにより階層が違う事が原因でした。 URLを絶対パスに変える事により解決しました! いつも助けて頂きありがとうございます!
guest

0

ベストアンサー

springさん

HTTPSのリクエストではサーバ~ブラウザ間の通信経路を暗号化しますが、HTMLからリンクされた一部のコンテンツがHTTP通信の場合、せっかくHTTPSで読み込んでいるのに一部だけが暗号化されていない通信になってしまいますよね。ここからセキュリティホールに繋がる可能性があるという警告です。

エラーの内容としては「Mixed Content」というのはHTTPS/HTTPが混在しているという意味で、その結果「requested an insecure image」つまりセキュアじゃない方法で画像が読まれたよ、というような意味です。
ここで必要な対策は全部のコンテンツをHTTPSで出力することです。
方法についてはmaisumakunさんが例示されている通りです。

投稿2015/10/23 15:35

退会済みユーザー

退会済みユーザー

総合スコア0

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

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

spring

2015/10/27 06:08

ご回答ありがとうございます。 現在そのhttpsのページからパスをhttp→httpsにする方法で作業しています。 1つ気になったのですが、httpのページからhttpsのリソースを取ってしまうのは問題ないでしょうか? 問題のパスが共用でしようしており気になりました。
spring

2015/10/27 06:16 編集

また、CDNの画像に関してはプロジェクトに内包し相対パスで取得するようにしようと思います。 パスを記載する時に2階層上がる下記のような書き方はお行儀悪いでしょうか? background: UrI(../../~~~)
退会済みユーザー

退会済みユーザー

2015/10/27 06:25

httpページ内にhttpsリソースを取り込むことは問題ありません。 ただし、例えばフレームの一部をhttpsで出力するような場合にhttp→httpsフレームの要素をコントロールできない等、いくつか制約があります。 インポートURLの相対パス指定については全く問題ありません。 ディレクトリの移動などでパス指定を間違えやすいので私自身は絶対パスで指定する事が多いですが、広く配布されているCSS等だとほとんどが相対指定されています。
spring

2015/10/27 06:45

作業した所httpsのページはコンソールに警告が出なくなりました。 しかしhttpのページで設定した画像パスのとこで404 (Not Found)が出てしまいました(汗)下記のような簡単なパスで記載しましたが、 <img src="../../images/画像の名前" alt="~~" /> コンソールにはあっていないパスを参照してしまっております。 プロジェクト名/~~/~~/images/画像のパス すみません、パスの書き方間違っていますでしょうか?
spring

2015/10/27 07:31 編集

webapp  css  images   ここに画像ファイルを入れた。  WEB-INF   ビュー    共通     CSS(../../images/画像ファイル)と書いたろ 上記で出た下記のエラー http://localhost:8080/プロジェクト名/パス/パス2/images/画像.png 404 (Not Found) httpsページではコンソールに問題なし。httpページで上記画像エラーが出る。
退会済みユーザー

退会済みユーザー

2015/10/27 09:55

springさん パスの書き方自体は誤っていませんので相対パスの指定誤りかと思います。 絶対パスの場合はどのようなアクセスでURLすれば表示できますか? それがわかれば絶対→相対パスの差異を比較する事ができます。 相対パスは現在プログラムが実行されているURLからの探索になりますので、 http://localhost:8080/プロジェクト名/パス/パス2/images/画像.png 404 (Not Found) となるのであれば、 http://localhost:8080/プロジェクト名/パス/パス2/パス3/プログラム名 というURLで実行されていませんか? その場合にたとえば http://localhost:8080/プロジェクト名/images/画像.png としたいのであれば、 <img src="../../../../images/画像.png" ~> とすべきです。
spring

2015/10/27 12:51

>相対パスは現在プログラムが実行されて >いるURLからの探索になりますので 上記ページにより階層が違う事が原因でした。 URLを絶対パスに変える事により解決しました。 初歩的な事ですみません。大変助かりました。ありがとうございます!
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.50%

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

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

質問する

関連した質問