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

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

新規登録して質問してみよう
ただいま回答率
85.53%
HTTPヘッダー

Hypertext Transfer Protocol(HTTP)の中のHTTPヘッダフィールドはHTTPの要求やレスポンスの機能しているパラメーターが含まれます。その要求もしくはレスポンスライン(メッセージの最初の一行)でメッセージヘッダを作ります。

nginx

nginixは軽量で高性能なwebサーバーの1つです。BSD-likeライセンスのもとリリースされており、あわせてHTTPサーバ、リバースプロキシ、メールプロキシの機能も備えています。MacOSX、Windows、Linux、上で動作します。

プロキシ

プロキシは、二つ以上の相互接続されているプログラム又はデバイスの間に存在する中間サーバを指します。プロキシは、接続者の「代理」としてインターネット接続を行い、接続元にレスポンスを返します。また、その機能を実現するソフトウェアの意味合いもあります。

Q&A

解決済

2回答

413閲覧

リバースプロキシでHSTS(HTTP Strict Transport Security)が無効にできない

sasaki_nuno

総合スコア13

HTTPヘッダー

Hypertext Transfer Protocol(HTTP)の中のHTTPヘッダフィールドはHTTPの要求やレスポンスの機能しているパラメーターが含まれます。その要求もしくはレスポンスライン(メッセージの最初の一行)でメッセージヘッダを作ります。

nginx

nginixは軽量で高性能なwebサーバーの1つです。BSD-likeライセンスのもとリリースされており、あわせてHTTPサーバ、リバースプロキシ、メールプロキシの機能も備えています。MacOSX、Windows、Linux、上で動作します。

プロキシ

プロキシは、二つ以上の相互接続されているプログラム又はデバイスの間に存在する中間サーバを指します。プロキシは、接続者の「代理」としてインターネット接続を行い、接続元にレスポンスを返します。また、その機能を実現するソフトウェアの意味合いもあります。

0グッド

0クリップ

投稿2023/10/26 02:15

発生している問題・エラーメッセージ

PCのchromeブラウザにおいて、http接続したいサイトがhttps化されてしまいます。
SafariやFireFoxでは再現していないことから、HSTSかと推測しております。

前提

WordPressのサイトA(SSL、nginx)

https://example.com/site-a
サーバーAにて実装しており、ドメイン example.com のAレコードはサーバーAです。

MovableTypeのサイトB(非SSL、apache)

http://example.com/site-b
サーバーBにて実装しており、サーバーAからリバースプロキシでアクセスしています。

example.com にアクセスすると、
https://example.com/site-a にアクセスするサイトを運営しています。

https://example.com/site-a 内のaタグ「http://example.com/site-b」をクリックすると、
httpsにリダイレクトされてしまい正常に表示されません。

本来は「http://example.com/site-b」と非SSLでアクセスしたいのですが、SSL化されてしまいます。

ちなみに、ブラウザ窓に直接URLを貼り付けてアクセスすると正常にアクセスできます。

試したこと

レスポンスヘッダーに以下を追加

Strict-Transport-Security max-age=0
※ ツールにてヘッダに正常に設定されていることを確認
※ サーバーA、サーバーBともに設定しています。

chromeのキャッシュ(HSTS設定を解除)

chrome://net-internals/#hsts

どなたか、ヒントになるような情報をお持ちの方はいらっしゃらないでしょうか?ボールドテキスト

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

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

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

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

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

maisumakun

2023/10/26 02:40

> httpsにリダイレクトされてしまい このリダイレクトがHSTSによるものか、あるいはそれ以外(たとえば、サーバAがリダイレクトのレスポンスを返している)かは確認を行いましたか?
sasaki_nuno

2023/10/26 02:49

サイトAはhttpアクセスでhttpsにリダイレクトするようにしてるんですが、サイトAのリンククリックでサイトBにアクセスするとサイトBではなく、サイトAが表示されるんです。 リダイレクトされてました。 サイトBのURL(http)を直打ちすると、正常にサイトBが表示されますが、サイトB内の内部リンクをクリックするとサイトAにリダイレクトされます。 PCchromeのみ再現しており、safariなどでは再現しません。
ikedas

2023/10/26 03:30

HSTSを有効にするようななんらかの設定をしたのでなければHSTSは原因ではありません。 Chromeの場合、リダイレクトキャッシュが効いている可能性があります。キャッシュを消去してみたらどうでしょうか。設定の「閲覧履歴データの削除」で消去できます。
sasaki_nuno

2023/10/26 05:00

コメントありがとうございます。 > HSTSを有効にするようななんらかの設定をしたのでなければHSTSは原因ではありません。 もともと正常に動いてて、サーバー側にHSTSの設定はしていませんでした。 何も修正していなかったので、急に現状の動作になった次第です。 Strict-Transport-Securityを設定したのが、現象が再現したあとで、max-ageを0にすれば良いとネットで見たので設定してみました。 履歴等のキャッシュの削除は行なっているのと、シークレットモードでも試しており、記載のとおりHSTSのキャッシュも行っています。
maisumakun

2023/10/26 05:02

> サイトB内の内部リンクをクリックするとサイトAにリダイレクトされます。 このときにどんなリクエスト・レスポンスが行われているか、ブラウザの検証ツールで確認してみましたか?
sasaki_nuno

2023/10/26 05:07

はい、サイトBにアクセスすると302でリダイレクトを確認しています。
ikedas

2023/10/26 05:24

リダイレクトはHSTSではありません。つまりHSTSが原因ではありません。
ikedas

2023/10/26 05:42

これ以上は各サーバの設定を提示してもらわないとどうしようもないと思います。 が、まずは現象に関係なさそうな設定 (Strict-Transport-Securityの設定など) をできるだけ削除していって、現象が再現する最小限の設定にしてみてください。それを提示ください。
guest

回答2

0

自己解決

解決できませんでした

投稿2023/10/26 13:02

sasaki_nuno

総合スコア13

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

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

ikedas

2023/10/26 13:58

おそらくは何らかの設定の間違いだと思います。 ・まず、別々のサーバなのにどちらのホスト名もexample.comというのからおかしいです。 ・「example.com にアクセスすると、https://example.com/site-a にアクセスする」というのも意味が分からないです。ならばhttp://example.com/site-bにアクセスするとhttps://example.com/site-aにアクセスするということでもおかしくないかもしれないと思います。 ・リバースプロキシと言っているのにリダイレクトで目的のサイトに移動しているのも不思議です。リバースプロキシとしての動作に見えません。 色々と説明が不足しているので、実際にどのような設定で何をしているのかが客観的にわかりません。そのような客観的・具体的な情報を添えて改めて質問されれば、有意義な回答があるかもしれません。
guest

0

302でリダイレクトを確認しています。

302ということは、サーバがリダイレクトを送っています。ブラウザ側だけの問題ではありません。

投稿2023/10/26 05:09

編集2023/10/26 05:09
maisumakun

総合スコア145025

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

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

maisumakun

2023/10/26 05:11

そして、HSTSはブラウザが読み替えて行うものですので、302が送られているのであれば全く無関係です。
sasaki_nuno

2023/10/26 05:16

httpのURLをクリックしたのに、ツールではリクエストがhttpsになるんですが、それでもHSTSではないってことなんでしょうか?
maisumakun

2023/10/26 05:19 編集

> aタグ「http://example.com/site-b」をクリックすると この部分をHTMLソースで示していただけますか?あと、JavaScriptが介入している、という可能性はないでしょうか? (情報が錯綜していて、何を信じればいいのかわからない状況です)
maisumakun

2023/10/26 05:23 編集

>ちなみに、ブラウザ窓に直接URLを貼り付けてアクセスすると正常にアクセスできます。 HSTSなら、こちらのリクエストも読み替えられるべき状況です。
sasaki_nuno

2023/10/26 05:43 編集

なるほど。わかりました。 jsは関係ないと思います。(htmlのテストファイルでサーバーAの環境化でJSなしでも試してます) ソースコードはクライアントのサイトなので掲載できないです。 すみません。最後に1点だけ教えてください。 SafariやFirefox、iPhoneのSafari・Chromeでは再現せず、PC(MacBook)のchromeだけ再現していることからHSTSを疑ってたのですが、何かHSTS以外で疑う可能性のあるものはないでしょうか?
maisumakun

2023/10/26 05:58

アドブロックなどブラウザ拡張が干渉している、ということもありえます。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.53%

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

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

質問する

関連した質問