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

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

ただいまの
回答率

90.47%

  • AWS(Amazon Web Services)

    2081questions

    Amazon Web Services (AWS)は、仮想空間を機軸とした、クラスター状のコンピュータ・ネットワーク・データベース・ストーレッジ・サポートツールをAWSというインフラから提供する商用サービスです。

  • SSL

    516questions

    SSL(Secure Sockets Layer)とは、暗号化されたプロトコルで、インターネット上での通信セキュリティを提供しています。

AWSのEC2 Linux上でLet's Encryptを導入したのですがうまくいきません

解決済

回答 2

投稿

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

EMADURANDAL

score 32

お世話になります。

表題の通りの現象で困っております。
具体的には、EC2上のCentOS6.xでLet's EncryptでSSLを導入しようとしたのですが、
導入後にブラウザでアクセスすると

![イメージ説明](b7ee0c1ff91accd8e90195dbb608fb95.jpeg)

というSSL証明書の妥当性検証でエラー扱いになってしまいます。

どうも、画像中のSubjectとIssuerの部分がEC2のprivate DNS名になっているのが気になります。

一度、ここで「もしや」と思い、調べてみたらCentOSの/etc/sysconfig/networkのhostnameがこのprivate DNS名のままになっていました。
そこで、取得したドメイン名に書き換えてEC2を再起動し、hostnameコマンドでちゃんとホスト名が取得したドメイン名に変わっているのを確認した上で、もう一度Let's Encryptで証明書を取得したのですが、結果は同じになりました。

念のため、3度目の挑戦として、サブドメイン部分を変更して(もちろんhostnameも更新し)、新規にLet's Encryptで証明書をまた取得してみたのですが、それでもまた結果は同じでした。

どこかミスっているのだと思いますが、わからずにおります。

お詳しい方、ご教示いただけますと幸いです。

ちなみに、サーバーはApache 2.2.x系です。

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

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

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

    クリップを取り消します

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

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

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

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

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

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

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

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

    質問の評価を下げる

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

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

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

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

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

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

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

    詳細な説明はこちら

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

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

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

回答 2

+1

ブラウザ側に Let's Encrypt のルート証明書が入っていない、もしくは、サーバー側に中間証明書が設定されていないため、証明書チェインの検証に失敗しているのだと思います。

CentOS 上で curl コマンドでエラーなくコンテンツが表示できるか確認ください。

$ curl --cacert isrgrootx1.pem https://ホスト名/


isrgrootx1.pem は Let's Encrypt のルート証明書。
ホスト名は /etc/hosts で自ホストの IPアドレスに名前解決できるようにしておく。

投稿

  • 回答の評価を上げる

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

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

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

  • 回答の評価を下げる

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

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

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

  • 2016/05/11 21:48

    以下のような結果になりました。

    curl: (60) Peer certificate cannot be authenticated with known CA certificates
    More details here: http://curl.haxx.se/docs/sslcerts.html

    curl performs SSL certificate verification by default, using a "bundle"
    of Certificate Authority (CA) public keys (CA certs). If the default
    bundle file isn't adequate, you can specify an alternate file
    using the --cacert option.
    If this HTTPS server uses a certificate signed by a CA represented in
    the bundle, the certificate verification probably failed due to a
    problem with the certificate (it might be expired, or the name might
    not match the domain name in the URL).
    If you'd like to turn off curl's verification of the certificate, use
    the -k (or --insecure) option.

    引き続き調べているのですが、わからないままです…。

    キャンセル

  • 2016/05/11 22:03

    さらにopensslコマンドを試してみたら、以下の通りの出力となりました。

    # openssl s_client -connect xxxxxxxxxxxxx:443 -CAfile /etc/letsencrypt/live/xxxxxxxxxxxxx/cert.pem
    CONNECTED(00000003)
    depth=0 C = --, ST = SomeState, L = SomeCity, O = SomeOrganization, OU = SomeOrganizationalUnit, CN = ip-10-1-1-10.ap-northeast-1.compute.internal, emailAddress = root@ip-10-1-1-10.ap-northeast-1.compute.internal
    verify error:num=20:unable to get local issuer certificate
    verify return:1
    depth=0 C = --, ST = SomeState, L = SomeCity, O = SomeOrganization, OU = SomeOrganizationalUnit, CN = ip-10-1-1-10.ap-northeast-1.compute.internal, emailAddress = root@ip-10-1-1-10.ap-northeast-1.compute.internal
    verify error:num=21:unable to verify the first certificate
    verify return:1
    ---
    Certificate chain
    0 s:/C=--/ST=SomeState/L=SomeCity/O=SomeOrganization/OU=SomeOrganizationalUnit/CN=ip-10-1-1-10.ap-northeast-1.compute.internal/emailAddress=root@ip-10-1-1-10.ap-northeast-1.compute.internal
    i:/C=--/ST=SomeState/L=SomeCity/O=SomeOrganization/OU=SomeOrganizationalUnit/CN=ip-10-1-1-10.ap-northeast-1.compute.internal/emailAddress=root@ip-10-1-1-10.ap-northeast-1.compute.internal
    1 s:/C=US/O=Let's Encrypt/CN=Let's Encrypt Authority X3
    i:/O=Digital Signature Trust Co./CN=DST Root CA X3
    ---
    Server certificate
    -----BEGIN CERTIFICATE-----
    MIIEajCCA1KgAwIBAgICH10wDQYJKoZIhvcNAQELBQAwgekxCzAJBgNVBAYTAi0t
    MRIwEAYDVQQIDAlTb21lU3RhdGUxETAPBgNVBAcMCFNvbWVDaXR5MRkwFwYDVQQK
    DBBTb21lT3JnYW5pemF0aW9uMR8wHQYDVQQLDBZTb21lT3JnYW5pemF0aW9uYWxV
    bml0MTUwMwYDVQQDDCxpcC0xMC0xLTEtMTAuYXAtbm9ydGhlYXN0LTEuY29tcHV0
    ZS5pbnRlcm5hbDFAMD4GCSqGSIb3DQEJARYxcm9vdEBpcC0xMC0xLTEtMTAuYXAt
    bm9ydGhlYXN0LTEuY29tcHV0ZS5pbnRlcm5hbDAeFw0xNjA1MDQwOTUyNDBaFw0x
    NzA1MDQwOTUyNDBaMIHpMQswCQYDVQQGEwItLTESMBAGA1UECAwJU29tZVN0YXRl
    MREwDwYDVQQHDAhTb21lQ2l0eTEZMBcGA1UECgwQU29tZU9yZ2FuaXphdGlvbjEf
    MB0GA1UECwwWU29tZU9yZ2FuaXphdGlvbmFsVW5pdDE1MDMGA1UEAwwsaXAtMTAt
    MS0xLTEwLmFwLW5vcnRoZWFzdC0xLmNvbXB1dGUuaW50ZXJuYWwxQDA+BgkqhkiG
    9w0BCQEWMXJvb3RAaXAtMTAtMS0xLTEwLmFwLW5vcnRoZWFzdC0xLmNvbXB1dGUu
    aW50ZXJuYWwwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQC9DviKPsr4
    c4SplxC37nqBHGconuZoQ6IBU7kjRByNg9z3WbS9ohSREIWY3Y1whOJJkir8SE0t
    NGxDVgibRpANHVGmyMa5OZffudGLtxnjBXzzRdEXbN1Wr7vjY144lZENXDSiRL4P
    vYMzW0cLoTGU3+fg5OinccgcEzzMCNE74kMeGpocKLixVUQ+eR9NtuCPAI4zcL8Q
    K+UnUFuLkOY50oEZ/PIFB4W4Fwe9URJKu3KkKL5ERDILK/tcGzwEgxoAhuaPa05b
    QMPY2KyhIyTyI77DRDKreSysWBDl/RgiyuxYi1mnpihdpoL2lqoKACr2V+3G8scg
    +KiNB+nhi05vAgMBAAGjGjAYMAkGA1UdEwQCMAAwCwYDVR0PBAQDAgXgMA0GCSqG
    SIb3DQEBCwUAA4IBAQCQA+xqmcB2Z2PqiM+t17LUfyuAszrgSqYUffK+dmtYdrAM
    fvTT87QI3neQ4fQCNeHQYBxAD/81r/UTxGZMyTHct2YS0/iKU+Ev7bFqmL5uSsT3
    m+eh9FCqUDiuZS1vfHOsfeZ9Lt3We1LK03VzWipzJHzoukYTit8ON5DM2aqoxH3M
    61j2/d407QiPvCkgUJgzmGwugdveVDU4575xFnOHjmW9MJRsYK7N+2duWBHekyGd
    WBz2arr6Lr/Bh5KJIm5YKGypy5fI42q2sKyzbjR8yycw1xwF2QT29oi5cQznzHEe
    vCmc8Aq1FhvInocGpyxo7gLOPfSW8wqeRMH8GvLK
    -----END CERTIFICATE-----
    subject=/C=--/ST=SomeState/L=SomeCity/O=SomeOrganization/OU=SomeOrganizationalUnit/CN=ip-10-1-1-10.ap-northeast-1.compute.internal/emailAddress=root@ip-10-1-1-10.ap-northeast-1.compute.internal
    issuer=/C=--/ST=SomeState/L=SomeCity/O=SomeOrganization/OU=SomeOrganizationalUnit/CN=ip-10-1-1-10.ap-northeast-1.compute.internal/emailAddress=root@ip-10-1-1-10.ap-northeast-1.compute.internal
    ---
    No client certificate CA names sent
    Server Temp Key: ECDH, prime256v1, 256 bits
    ---
    SSL handshake has read 3002 bytes and written 373 bytes
    ---
    New, TLSv1/SSLv3, Cipher is ECDHE-RSA-AES256-GCM-SHA384
    Server public key is 2048 bit
    Secure Renegotiation IS supported
    Compression: NONE
    Expansion: NONE
    SSL-Session:
    Protocol : TLSv1.2
    Cipher : ECDHE-RSA-AES256-GCM-SHA384
    Session-ID: 0812A314FF8CC3A2B502718BDF8D3815CDD14A904CD17FD942BAE86269533E0F
    Session-ID-ctx:
    Master-Key: B9DE4DE1514983E7FFA44E82664DD258D2FAB41CEEC813C8052701CBCF0D5981DA62EE0FC931116D11CBA1CDD9189039
    Key-Arg : None
    Krb5 Principal: None
    PSK identity: None
    PSK identity hint: None
    TLS session ticket lifetime hint: 300 (seconds)
    TLS session ticket:
    0000 - 12 fa 29 ad aa 03 2e 4c-0e df df ed 0c 0c 86 1e ..)....L........
    0010 - 07 a7 9e f0 3c e2 4a 97-e5 a0 46 7d 89 d7 22 42 ....<.J...F}.."B
    0020 - 98 c5 8b 5a 62 10 7f d5-00 0a 44 60 3d f6 60 b5 ...Zb.....D`=.`.
    0030 - d1 ff 9f 44 a3 86 92 01-d4 24 2d a1 b4 0c cc 72 ...D.....$-....r
    0040 - 84 7c 07 f7 22 d7 fa 35-a5 df 39 c8 37 b0 9e 05 .|.."..5..9.7...
    0050 - 11 03 9f 60 d8 d8 46 a7-ed 43 f3 20 da a9 69 82 ...`..F..C. ..i.
    0060 - 49 49 4d 0f 1d 51 2d d4-d7 84 6a 77 7a ee 27 09 IIM..Q-...jwz.'.
    0070 - 73 0e 22 ce ab d0 df ea-de 5c e3 3e 66 ce c6 75 s."......\.>f..u
    0080 - 16 f9 23 fb 42 17 b9 70-9b 53 28 64 a2 49 4d 43 ..#.B..p.S(d.IMC
    0090 - f2 e4 2c b8 88 c0 05 64-2b e9 1f 93 22 71 72 24 ..,....d+..."qr$
    00a0 - e4 87 96 ce b3 41 44 c5-53 79 7c 6b 0a aa b3 98 .....AD.Sy|k....
    00b0 - 28 b2 c0 25 82 ae 3d d0-6e 86 ae 85 24 fa e8 24 (..%..=.n...$..$

    Start Time: 1462971556
    Timeout : 300 (sec)
    Verify return code: 21 (unable to verify the first certificate)

    キャンセル

  • 2016/05/12 01:34

    s_client の結果ですが、1つ目のサーバー証明書の Issuer が「/C=US/O=Let's Encrypt/CN=Let's Encrypt Authority X3」(中間証明書)となるべきところが、「/C=--/ST=SomeState/L=SomeCity/O=SomeOrganization/OU=SomeOrganizationalUnit/CN=ip-10-1-1-10.ap-northeast-1.compute.internal/emailAddress=root@ip-10-1-1-10.ap-northeast-1.compute.internal」となっていますね。
    なぜそうなっているのかはわかりません。

    キャンセル

check解決した方法

0

すみません。自己解決しました。

letsencryptやEC2の性質の問題ではなく、
単に私のhttpdの設定にミスがありました。

kalturaという動画配信サーバーを運用しようとしており、それのインストールでssl.confとは別のzzzkaltura.ssl.confというものができたので、zzzkaltura.ssl.confにletsencryptで取得した証明書などの設定をしていたのですが、

最初からあるssl.confをよく見たら
SSLCertificateFile /etc/pki/tls/certs/localhost.crt
などの自己署名と思われるcertificateFileが指定されていました。

どうやら、zzzkaltura.ssl.confではなくssl.confの設定が優先されてしまっていたようです。

ssl.confをssl.conf.backupなどにとりあえずリネームして無効にしたら、うまくいきました。

という次第でして、私の完全なケアレスミスでした。
大変申し訳ありません。

TaichiYanagiyaさま、親切に対応頂きまして。誠にありがとうございました。お礼申し上げます。

投稿

  • 回答の評価を上げる

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

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

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

  • 回答の評価を下げる

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

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

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

関連した質問

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

  • AWS(Amazon Web Services)

    2081questions

    Amazon Web Services (AWS)は、仮想空間を機軸とした、クラスター状のコンピュータ・ネットワーク・データベース・ストーレッジ・サポートツールをAWSというインフラから提供する商用サービスです。

  • SSL

    516questions

    SSL(Secure Sockets Layer)とは、暗号化されたプロトコルで、インターネット上での通信セキュリティを提供しています。