EC2 + ELB + ApacheでSSL接続をさせたい

受付中

回答 1

投稿 編集

  • 評価
  • クリップ 0
  • VIEW 1,215

sequence

score 27

 やりたいこと

EC2内にApacheを準備し、その前にELBを立てて、httpsでアクセスされた時に
SSL接続をさせたい。
(httpアクセス時のリダイレクトは今回は考えない)

 現状

httpでアクセスする分には問題なく、表示がされます。
一方、httpsでアクセスすると下記のようになりアクセスできません。
イメージ説明

この時のApacheのaccess_logは以下のとおりです。

10.0.2.110 - - [25/Jun/2017:15:57:30 +0000] "GET / HTTP/1.1" 302 -

設定として怪しいのがELBかなと考えております。
理由は、以下の画像のようにヘルスチェックが効いていないからです。
イメージ説明

また、Apacheの設定内容も不安です。
conf/httpd.confファイルとconf.d/test.conf(仮名)ファイルは以下のようになっております。

【conf/httpd.conf】

ServerRoot "/etc/httpd"
Listen 80
Listen 443
Include conf.modules.d/*.conf
User apache
Group apache
ServerAdmin root@localhost
<Directory />
    AllowOverride none
    Require all denied
</Directory>
DocumentRoot "/var/www/html"
<Directory "/var/www">
    AllowOverride None
    Require all granted
</Directory>
<Directory "/var/www">
    Options Indexes FollowSymLinks
    AllowOverride None
    Require all granted
</Directory>
<IfModule dir_module>
    DirectoryIndex index.html index.php
</IfModule>
<Files ".ht*">
    Require all denied
</Files>
ErrorLog "logs/error_log"
LogLevel warn
<IfModule log_config_module>
    LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\"" combined
    LogFormat "%h %l %u %t \"%r\" %>s %b" common
    <IfModule logio_module>
      LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\" %I %O" combinedio
    </IfModule>
    CustomLog "logs/access_log" combined
</IfModule>
<IfModule alias_module>
    ScriptAlias /cgi-bin/ "/var/www/cgi-bin/"
</IfModule>
<Directory "/var/www/cgi-bin">
    AllowOverride None
    Options None
    Require all granted
</Directory>
<IfModule mime_module>
    TypesConfig /etc/mime.types
    AddType application/x-compress .Z
    AddType application/x-gzip .gz .tgz
    AddType text/html .shtml
    AddOutputFilter INCLUDES .shtml
</IfModule>
AddDefaultCharset UTF-8
<IfModule mime_magic_module>
    MIMEMagicFile conf/magic
</IfModule>
EnableSendfile on
IncludeOptional conf.d/*.conf


【conf.d/test.conf】

ServerName IPアドレス
<VirtualHost *:80>
Servername IPアドレス
DocumentRoot /xxx/xxx/xxx/

         <Directory "/xxx/xxx/xxx/">
                Options FollowSymlinks
                AllowOverride All
                Require all granted
         </Directory>

</VirtualHost>

 知りたいこと

原因究明がしっかりと行えておらず、どこが悪いのかわかっておりませんので、
まずはどこがおかしいのかご教授いただけると幸いです。
(これらの情報で足りない場合は、追記いたします)
解決策もご教授いただけると助かります。

何卒、よろしくお願いいたします。

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

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

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

    クリップを取り消します

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

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

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

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

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

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

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

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

    質問の評価を下げる

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

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

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

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

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

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

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

    詳細な説明はこちら

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

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

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

回答 1

+1

証明書の問題なのか、それ以外の問題なのか切り分けた方がいいと思います。
まず、

Client -(HTTP 80/TCP)- ELB -(HTTP 80/TCP) - EC2


の構成でアクセスできるか確認するといいと思います。

ヘルスチェックについては、以下を確認ください。 

  • EC2 側 OS 内部のファイアーウォールで、80番ポートへのアクセスが許可されているか
  • EC2 側セキュリティグループで、ELB から 80番ポートへのアクセスが許可されているか
  • EC2 側 Apache httpd の access_log に、ELB からのアクセスがあるか、応答コードはヘルスチェック側の設定(デフォルト 200)と合っているか

投稿

  • 回答の評価を上げる

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

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

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

  • 回答の評価を下げる

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

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

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

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

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