質問: 'https' ) { $_SERVER['HTTPS']='on'; } ``` この状態で、親ドメインのサイトだけSSL表示できない・リダイレクトが機能していない場合にはどういった原因・対処が考えられるでしょうか? ### 備考 「保護されていません」の警告が目立たないようにしたいだけの個人ブログであり、費用はできるだけ抑えたいのですが、Let's Encryptはまだワイルドカード証明書に対応していないということなので、ACMを使った構成で検討しています。 AMIMOTO公式(https://ja.amimoto-ami.com/faq/ssl-seting/)の記事を参考にOpenSSLとNginxの設定変更のみでテストしたときは、(Chromeの警告は表示されますが)親ドメインもhttpsで問題なく表示でき、リダイレクトも正常にできました。 ### 追記分(4日17:00更新) ACMの証明書は「親ドメイン」「ワイルドカード」とも取得ずみです。発行リージョンは東京です。 ![イメージ説明](https://teratail.storage.googleapis.com/uploads/contributed_images/94063c06ae2332e8620b4b1741979b9f.png) ALB関連の設定は以下の通りです。 ・ターゲットグループ:HTTP ``` 【基本的な設定】 名前 :HTTP プロトコル:HTTP ポート :80 ターゲットの種類 :instance VPC :vpc-23383341 ロードバランサー:HTTPS ターゲットグループのポート:81 状態:healthy 【ヘルスチェック】 プロトコル:HTTP パス :/healthcheck.html ポート :80(上書き) 正常のしきい値:5 非正常のしきい値 :2 タイムアウト :5 間隔 :30 成功コード:204 ``` ・ターゲットグループ:HTTPS ``` 名前 :HTTPS プロトコル :HTTP ポート :443 ターゲットの種類 :instance VPC :vpc-23383341 ロードバランサー:HTTPS ターゲットグループのポート:80 状態:healthy 【ヘルスチェック】「HTTP」と同様 ``` ロードバランサーの方の設定も確認しましたが、任意記入のヘルスチェック関連の項目以外は 参考にしたサイト()とまったく同様に設定できています。 nginxの設定(default.conf)の内容は以下の通りです。nginxの再起動も正常にできます。 ![イメージ説明](https://teratail.storage.googleapis.com/uploads/contributed_images/56f8c0f5a987dc7cd0be96f72d269265.png) ・virtual.confには質問本文にある以外の記述はありません。 ・Route53のAレコードは、ALBの方に設定し直しています。 ・リダイレクトが正常に機能していないのは、親ドメイン内のサイトだけです。子ドメインでは、接続は異様に遅いもののリダイレクトはできています。 他に追加が必要な情報があればお伝えください。
回答: ALB・nginxまわりではなく、Route53で親ドメインのみ「インスタンスに紐付けしたElastic IPをValueに設定したAレコード」を設定したままにしていたことが原因でした。 !イメージ説明 以下の画像のように「親ドメインにAレコードを作成し、Alias TargetにALBのエンドポイントを設定する」ことで解決しました。 !イメージ説明 検索して出てくる記事には*「ELBのDNS登録は、AレコードではなくCNAMEレコードを使う必要がある」*と書いてあるものがあり、親ドメインではAレコードを使用できないと思っていたのですが、元のAレコードを削除してからしばらくすると、親ドメインでもAlias TargetのプルダウンメニューからALBのエンドポイントが選択できるようになっていました。 (このあたりは詳しく記憶していないので、元のAレコードを削除してからの経過時間は関係ないかもしれません) そのエンドポイントを選択して、親ドメインについてもワイルドカード・ドメインの場合と同様のAレコードを設定し、元あったElastic IPについてのAレコードは削除しました。 設定変更後、反映されるのに数十分ほどかかりましたが、無事に親ドメインもhttps://~で接続できるようになりました。 また、サイト全体でページの読み込み開始に数秒以上かかっていた状態も改善されました。 あとは一部リンクの記述を修正すれば、常時SSLで閲覧できると思われます。 検証にご協力くださったmorixさん、moonphaseさんありがとうございました。現状説明した内容に明らかな問題があるわけではないと確認いただくことで、それ以外の部分に原因があると気づくことができました。