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

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

ただいまの
回答率

88.82%

(重症)iPhoneのsafariでWEBサイトに接続できない件(SSLが関係?)

受付中

回答 2

投稿 編集

  • 評価
  • クリップ 1
  • VIEW 16K+

kajiwara

score 43

ご覧いただきありがとうございます。
症状がどんどんひどくなるため助けてくださいm(__)m

●問題
自社WEBサイト(cakePHPアプリケーション)にiphoneのsafariからアクセスすると「ときどき」アクセスできない。
なお、特定の個体で常に見れないわけではありません。また1度も見れなかったことはない個体もあります。
以下詳細状況から考えるとSSLに何か不具合がある気がしています。

●詳細状況
URL(https://example.com)にアクセスすると以下エラーで画面が表示されません。
「ページを開けません。safariはサーバにセキュリティ保護された接続を確立できませんでした。」

同じ時に他のiphoneでは見れる、PCのsafariでも見れる、androidでもほぼ見れます。
また見れなかったiphoneにchromeをインストールしても見れません。
ただしそのiphoneが悪いかと言われると、見れることも多々ある&複数人の端末で起こるのでなんとも言えません。

1人だけ、android携帯×chromeで見れないことがよくあるという方もいました。
2ヶ月ほど5,6台で様子を見ていますが規則性が全く見いだせません。

●おそらく同じ原因により起こっている関連問題
1.iphoneで接続できない時にhttp://〜に接続すると、ドメインを管理しているロリポップサービスの403ERRORとなります。
もちろんその時、他の正常端末ではhttpsでもhttpでも通常通りアクセスできます。

なおhttpをhttpsにリダイレクトする処理は、cakePHPのAppControllerのbeforeFilter内で行っています。

$this->Security->blackHoleCallback = 'forceSSL';
$this->Security->requireSecure();
public function forceSSL() {
    $this->redirect('https://'.env('SERVER_NAME').$this->here);
}

2.www.example.comに接続した際にも本題と同じエラーとなります。
もちろんその時、他の正常端末ではwwwでも通常通りアクセスできます。

なおwwwをリダイレクトする処理も、cakePHPのAppControllerのbeforeFilterで行っています。

$domain = $_SERVER['HTTP_HOST'];
    if(strpos($domain, 'www') !== false ) {
        $this->forceNoWWW();
    }
public function forceNoWWW() {
    $this->redirect('https://example.com'.$this->here);
}

●今までの対処
・リロードする
→解決することもある
・ブラウザのクッキー、キャッシュを削除
→初期のみ解決した例もあったが、基本解決せず
・iphoneを再起動
→初期のみ比較的解決したが、最近はほぼ効かなくなってきた
・Wi-Fiを変える
→複数のWi-Fiでも携帯回線でも不定期に置きます。切り替えても解決しません。

あとは調べても調べても明確な原因を探れず本当に困っております。
iPhone側の設定によることも多く記事を読みましたが、それにしては不具合が多く報告されます。
最初は頻度が少なく放置していたのですが、その個体については頻度が増え、再起動してもどんどん見れなくなっていきました。
PVは16,7万のサイトになってきたので、潜在的に逃しているユーザーがたくさんいると思うと胸が痛みます。

●システム仕様
・サーバー:AWSのEC2(t2.micro)
・Webサーバー:Apache/2.4.16 mod24_ssl
・SSL:rapidSSL(年4,300円の超安価)
http://www.rapid-ssl.jp/
・SSL環境
SSL設定ファイル:/etc/httpd/conf.d/ssl.conf
SSL証明書:/etc/httpd/conf/ssl.crt/server.key
SSL中間証明書:/etc/httpd/conf/ssl.crt/ca.crt
SSL鍵:/etc/httpd/conf/ssl.key/server.key
・言語:PHP5.5.30
・フレームワーク:cakePHP2.3.5
・データベース:MySQL5.5.45

少しでもお分かりのことがあれば、なんでも結構ですのでコメント頂戴できますと幸いです。
お助けください!何卒よろしくお願いいたします。

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

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

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

    クリップを取り消します

  • 良い質問の評価を上げる

    以下のような質問は評価を上げましょう

    • 質問内容が明確
    • 自分も答えを知りたい
    • 質問者以外のユーザにも役立つ

    評価が高い質問は、TOPページの「注目」タブのフィードに表示されやすくなります。

    質問の評価を上げたことを取り消します

  • 評価を下げられる数の上限に達しました

    評価を下げることができません

    • 1日5回まで評価を下げられます
    • 1日に1ユーザに対して2回まで評価を下げられます

    質問の評価を下げる

    teratailでは下記のような質問を「具体的に困っていることがない質問」、「サイトポリシーに違反する質問」と定義し、推奨していません。

    • プログラミングに関係のない質問
    • やってほしいことだけを記載した丸投げの質問
    • 問題・課題が含まれていない質問
    • 意図的に内容が抹消された質問
    • 過去に投稿した質問と同じ内容の質問
    • 広告と受け取られるような投稿

    評価が下がると、TOPページの「アクティブ」「注目」タブのフィードに表示されにくくなります。

    質問の評価を下げたことを取り消します

    この機能は開放されていません

    評価を下げる条件を満たしてません

    評価を下げる理由を選択してください

    詳細な説明はこちら

    上記に当てはまらず、質問内容が明確になっていない質問には「情報の追加・修正依頼」機能からコメントをしてください。

    質問の評価を下げる機能の利用条件

    この機能を利用するためには、以下の事項を行う必要があります。

質問への追記・修正、ベストアンサー選択の依頼

  • kei344

    2016/07/18 00:26

    xxxxx がひとつ残っているので、それも置き換えていただけませんか?

    キャンセル

  • kei344

    2016/07/18 00:36

    編集ありがとうございます。「iPhone側の設定によることも多く記事を読みましたが」とありますが、具体的にかかれたほうが回答者による同じ記事の提示を避けれると思います。

    キャンセル

  • daive

    2016/07/18 11:10

    現象に関係はないと思いますが、
    スマホ、タブレットではデータ通信量節約の為に、
    データ通信量を減らす圧縮機能系
    のアプリや、ブラウザの機能を使う場合があると思います。
    その為のサーバー(プロキシ)が海外だったりします。
    これ等の機能を使っている場合、使っていない場合の
    確認もしておいた方が良いのではないでしょうか?

    キャンセル

回答 2

+1

ちょっとおかしな点。

1.iphoneで接続できない時にhttp://〜に接続すると、ドメインを管理しているロリポップサービスの
403ERRORとなります。 

・サーバー:AWSのEC2(t2.micro) 

403 Forbiddenがロリポップで出るはずはありません。あなたが借りているサーバー上で出るはずです。
ということはDNSがそちらに振られているんじゃないでしょうか。
それで、SSL接続をしようとすると、ロリポップに行くので当然SSLエラーとなります。
(ロリポップ上に該当SSLの証明書がありませんので)
しばらくの間、DNSはキャッシュされるのでいくらSSL接続しようとしてもエラーとなります。

DNSの設定のAレコードにおかしなIPアドレスが設定されていませんか?

投稿

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

0

こんにちは、こんな記事見つけました。一度ご確認されてみては、いかがですか。

WebサーバーにSSLの証明書が正しくインストールされているか確認する

既にご確認済みであれば、その旨質問に追記されるとよろしいかと思います。

あと、多分関係ないですが、以下のページも見つけましたので一応みてみてはどうでしょう。
http のリクエストが勝手に https にリダイレクトされるときは Strict-Transport-Security を疑おう - べにやまぶろぐ

投稿

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

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

  • ただいまの回答率 88.82%
  • 質問をまとめることで、思考を整理して素早く解決
  • テンプレート機能で、簡単に質問をまとめられる

関連した質問

同じタグがついた質問を見る