2015年11月11日

http:// でアクセスしたいのに,強制的に https:// にされてしまう場合の原因と対処方法.

Web拍手:


http:// でアクセスしたいのに,強制的に https:// にされてしまう場合の原因と対処方法.

まず,原因.


1.
サーバー側で,そのように設定してある

2.
ブラウザがおぼえこんでしまっている




2. のほうは,ユーザー側で対処できるので,まずはその方法を自分のためにメモ書き.

Chromeの場合:

「Google Chromeで https しか開けなくなった場合の対処方法 - 風柳メモ http://furyu.hatenablog.com/entry/20140215/1392407908

Chrome で
chrome://net-internals/#hsts
を開く.

Chrome_hsts_setting.png

ここの「Delete domain」で,Chrome が強制的に https:// でアクセスしてしまうドメインを削除できる.
http:// でアクセスしたいドメインを入力して [Delete] を押すことによって,http:// でアクセスできるようになりました.


IE の場合:
[ツール] → [インターネットオプション] の [全般]タブの「閲覧の履歴」の「削除」ボタンで,削除できるっぽい.
IE_hsts_setting.png

具体的にどの項目で保存されていたのかを追求していないけれど,デフォルトで提示されるチェック/アンチェック状態のままで「削除」を実行したら,http:// でアクセスできるようになりました.
想像だけど,「クッキーと Web サイトデータ」という項目がそれのような気がしています.




次に,1. の「サーバー側で,そのように設定してある」場合.
これは,

o そのサーバーの Apache(httpd)に,「HSTS(HTTP Strict Transport Security)」が設定してある
o そのサイト(ページ,サービス)の mod_rewrite の設定がそのようになっている

の 2通りがありそうです.


「ポートベースVirtualhostでHSTSを有効にすると全てのVirtualhostへの通信がhttpsにリダイレクトされてしまう | Res-Log」
http://ur.edu-connect.net/archives/28994

「http のリクエストが勝手に https にリダイレクトされるときは Strict-Transport-Security を疑おう - べにやまぶろぐ」
http://beniyama.hatenablog.jp/entry/2014/11/08/175925

ということで,ひとまず,私も HSTS を無効にしました.
いろいろな考え方があるとは思いますが,「自分のところは https:// で問題なくアクセスできるような準備が,まだほとんどできていない」が理由です.

無効にはしたものの,私もよくわかっていないまま「"max-age=15768000"」と指定してしまっていたので,15768000 seconds = 6か月くらい,私の管理しているドメインに https:// で強制アクセスするようにおぼえこんでしまっているユーザーさん(サイト,サービス,ブラウザ(クライアント・アプリ)... )がすでにあるのだろうなぁ... .しまったなー.
"max-age=0" にして再起動して様子をみてみたけれど,効果なさそうです.
まぁ,正しい動作ですよね... (^^;).

ということで,あとは,私の場合は逆に,「mod_rewrite で,https:// でアクセスしてきたら http:// に振り直す」ことをしないといけなさそうです.
全サービスを https:// 対応にするのとどっちが楽かなぁ(^^;).

mod_rewrite の書き方は,これらの記事↓が参考になりそうです.これから試行錯誤します.

「mod_rewriteで、強制的にHTTPSからHTTPにする方法 | whitemitt.com」
http://whitemitt.com/2011/02/26-153048.htm

「Apache - mod_rewriteでHTTP / HTTPSの切り替え - Qiita」
http://qiita.com/gotohiro55/items/7daa988db23a5a8355c1

「Googleの検索結果のURLがhttpsになってしまう | あぱーブログ」
https://blog.apar.jp/linux/313/




私の場合は,検索エンジン対応ではなく,
何が問題なのか(どんな現象が起こってしまっていて,どう困っているのか)をメモ書きしておくと,

http:// でアクセスされることを想定していて,かつ,https:// 対応させていないページ(サービス)を https:// で開くと,

x ブラウザがあやしがって表示してくれない(場合がある)
x そのページ自体は http:// のときと変わらず表示してくれるけれど,そこから呼び出している http:// のサービス(API,ウィジェット,HTML, CSS など)を,ブラウザがあやしがって表示してくれない

という現象が起こりました.
「http:// のリンクを,すべて https:// に書き換えればいいやん」
だいたいはそうなのだけど,必ずしもそれで済むわけではなくて,

- 書き換える場所が,結構,たくさんある.自動書き換えできないところもある.
- https:// 対応していない外部サービス(API,ウィジェット,HTML, CSS など)が,結構,ある.

ということで,チェックしきれない(手間と時間の点で対応しきれない),という現実があります.
あまり正攻法ではなく,消極的な理由ではあるけれど,現実的な解として,
「http:// でアクセスしたいのに,強制的に https:// にされてしまう場合の原因と対処方法」
を,いまの自分と,未来の自分のためにメモ書きしておきます.




【コンピュータの最新記事】
posted by NOIKE at 16:34 | 東京 ☁ | Comment(0) | TrackBack(5) | コンピュータ | このブログの読者になる | 更新情報をチェックする
この記事へのコメント
コメントを書く
お名前: [必須入力]

メールアドレス:

ホームページアドレス:

コメント: [必須入力]

認証コード: [必須入力]


※画像の中の文字を半角で入力してください。

この記事へのトラックバック

「Let's Encrypt Public Beta on December 3, 2015」 いよいよ,Closed beta から Public beta になるらしい.
Excerpt: Let's Encrypt Public Beta on December 3, 2015: https://t.co/cNRD5TU1qs— Let&#3..
Weblog: とり茶
Tracked: 2015-11-13 21:39

Let's Encrypt の SSL証明書を,自動的に更新するようにしてみた.とりあえず,更新周期を週に1回ペースにしてみた.
Excerpt: 更新前: 更新後: Let's Encrypt の SSL証明書を,自動的に更新するようにしてみた. 放置しておくと,3か月で無効になってしまう. とりあえず,更新周期を週に1回ペース..
Weblog: とり茶
Tracked: 2016-01-21 01:00

Let's Encrypt は,SSL証明書の有効期限が切れそうになるとメールでお知らせしてくれるらしい.「Let's Encrypt Expiry Bot」から,「あと16日で切れるから更新してね」というお知らせメールが来ていた.すばらしいー.
Excerpt: 「 Hello, Your certificate (or certificates) for the names listed below will expire in 16 days (on 2..
Weblog: とり茶
Tracked: 2016-01-21 13:17

Let's Encrypt の SSL証明書を更新してあるのに,「有効期限が切れそうだよ」というメールがいまだに届くのは,放置しておいてもよさそうな感じ.
Excerpt: 「Expiration Emails (Too Many, Unnecessary, etc.) - Documentation - Let's Encrypt Community Support」 ..
Weblog: とり茶
Tracked: 2016-01-28 16:50

Let's Encrypt 証明書の自動更新でビミョーに失敗するなぁと思っていたら,クライアントが新しくなっていたらしい.新しいクライアント certbot の renew アクションが便利.有効期限が近くないときは証明書の更新をしない.
Excerpt: letsencrypt-auto が certbot-auto になった - @znz blog http://blog.n-z.jp/blog/2016-05-13-letsencrypt-cert..
Weblog: とり茶
Tracked: 2016-10-24 03:35