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

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

ただいまの
回答率

90.54%

  • Linux

    4375questions

    Linuxは、Unixをベースにして開発されたオペレーティングシステムです。日本では「リナックス」と呼ばれています。 主にWebサーバやDNSサーバ、イントラネットなどのサーバ用OSとして利用されています。 上位500のスーパーコンピュータの90%以上はLinuxを使用しています。 携帯端末用のプラットフォームAndroidは、Linuxカーネル上に構築されています。

  • CentOS

    3087questions

    CentOSは、主にRed Hat Enterprise Linux(RHEL)をベースにした、フリーのソフトウェアオペレーティングシステムです。

  • SSL

    584questions

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

  • HTTPS

    308questions

    HTTPS(Hypertext Transfer Protocol Secure)はHypertext Transfer プロトコルとSSL/TLS プロトコルを組み合わせたものです。WebサーバとWebブラウザの間の通信を暗号化させて、通信経路上での盗聴や第三者によるなりすましを防止します。

Lets’s EncryptでSSL設定がうまくいかない

解決済

回答 4

投稿 編集

  • 評価
  • クリップ 1
  • VIEW 2,812

akkkkin

score 71

掲題の件で難航しております。

【サーバー情報】
さくらVPS
apache2.4.6
centos7.3.1611

WordPressで構築しているサイトです。

ーーーーーー
やったこと
ーーーーーー
【証明書の取得】

稼働しているapacheは停止してから行いました。

#下記のコマンドで取得を確認。
$ sudo ls -l /etc/letsencrypt/live/ほげほげ.com

合計 0
lrwxrwxrwx 1 root root 33  828 04:29 2016 cert.pem -> ../../archive/ほげほげ.com/cert1.pem
lrwxrwxrwx 1 root root 34  828 04:29 2016 chain.pem -> ../../archive/ほげほげ.com/chain1.pem
lrwxrwxrwx 1 root root 38  828 04:29 2016 fullchain.pem -> ../../archive/ほげほげ.com/fullchain1.pem
lrwxrwxrwx 1 root root 36  828 04:29 2016 privkey.pem -> ../../archive/ほげほげ.com/privkey1.pem

【https通信を有効にする】

# ssl.confの編集(/etc/httpd/conf.d/ssl.conf)
$ sudo /etc/httpd/conf.d/ssl.conf

<VirtualHost *:443>

DocumentRoot "/var/www/html/hogehoge"
ServerName ほげほげ.com:443

#   Server Certificate:
# Point SSLCertificateFile at a PEM encoded certificate.  If
# the certificate is encrypted, then you will be prompted for a
# pass phrase.  Note that a kill -HUP will prompt again.  A new
# certificate can be generated using the genkey(1) command.
SSLCertificateFile /etc/letsencrypt/live/ほげほげ.com/cert.pem

#   Server Private Key:
#   If the key is not combined with the certificate, use this
#   directive to point at the key file.  Keep in mind that if
#   you've both a RSA and a DSA private key you can configure
#   both in parallel (to also allow the use of DSA ciphers, etc.)
SSLCertificateKeyFile /etc/letsencrypt/live/ほげほげ.com/privkey.pem

#   Server Certificate Chain:
#   Point SSLCertificateChainFile at a file containing the
#   concatenation of PEM encoded CA certificates which form the
#   certificate chain for the server certificate. Alternatively
#   the referenced file can be the same as SSLCertificateFile
#   when the CA certificates are directly appended to the server
#   certificate for convinience.
SSLCertificateChainFile /etc/letsencrypt/live/ほげほげ.com/chain.pem

#   Certificate Authority (CA):
#   Set the CA certificate verification path where to find CA
#   certificates for client authentication or alternatively one
#   huge file containing all of them (file must be PEM encoded)
#SSLCACertificateFile /etc/pki/tls/certs/ca-bundle.crt

上記を設定後、apacheを再起動し、サイトにアクセスしてもhttpsになっておらず、通常のhttpのままです。

https:// でアクセスしても、「このサイトにアクセスできません」と表示されます。

どこに原因があるのかご教示頂けますとありがたいです。

追記:
apachectl -tで確認すると、Syntax OKとなります。

下記のブログを参考に設定しておりますが、
「応答時間が長すぎます」とほ表示になります。
https://blog.yagi2.com/2016/08/31/lets-encrypt.html

$ apachectl configtestで確認ところ、

SSLCertificateFile: file '/etc/letsencrypt/live/ほげほげ.com/cert.pem' does not exist o
r is empty

と表示されます。

しかし、'/etc/letsencrypt/live/にはほげほげ.comは入っているのですが・・・・

suコマンドで確認すると、Syntax OKになります。

SSL_error_logファイルを確認すると、以下のerrorを発見しました。

[Thu Jan 19 03:47:28.752229 2017] [ssl:warn] [pid 10127] AH01909: RSA certificate configured for ほげほげ.com:443 does NOT include an ID which matches the server name

error_logから下記を確認しました。

[Sat Jan 21 14:06:48.809658 2017] [mpm_prefork:notice] [pid 15632] AH00170: caught SIGWINCH, shutting down gracefully
[Sat Jan 21 14:06:49.900480 2017] [core:notice] [pid 15775] SELinux policy enabled; httpd running as context system_u:system_r:httpd_t:s0
[Sat Jan 21 14:06:49.901825 2017] [suexec:notice] [pid 15775] AH01232: suEXEC mechanism enabled (wrapper: /usr/sbin/suexec)
[Sat Jan 21 14:06:49.902687 2017] [ssl:warn] [pid 15775] AH01916: Init: (ik1-☓☓☓-☓☓☓☓.vs.sakura.ne.jp:443) You configured HTTP(80) on the standard HTTPS(443) port!
[Sat Jan 21 14:06:49.972925 2017] [auth_digest:notice] [pid 15775] AH01757: generating s
ecret for digest authentication ...
[Sat Jan 21 14:06:49.973804 2017] [lbmethod_heartbeat:notice] [pid 15775] AH02282: No slotmem from mod_heartmonitor
[Sat Jan 21 14:06:49.974669 2017] [ssl:warn] [pid 15775] AH01916: Init: (ik1-326-23165.v
s.sakura.ne.jp:443) You configured HTTP(80) on the standard HTTPS(443) port!
[Sat Jan 21 14:06:50.002990 2017] [mpm_prefork:notice] [pid 15775] AH00163: Apache/2.4.6
 (CentOS) OpenSSL/1.0.1e-fips PHP/7.0.14 configured -- resuming normal operations
[Sat Jan 21 14:06:50.003084 2017] [core:notice] [pid 15775] AH00094: Command line: '/usr/sbin/httpd -D FOREG
  • 気になる質問をクリップする

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

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

    クリップを取り消します

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

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

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

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

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

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

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

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

    質問の評価を下げる

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

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

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

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

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

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

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

    詳細な説明はこちら

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

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

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

回答 4

checkベストアンサー

+1

私もletsencrypを使用しています。
SSLEngine onSSLProtocol all -SSLv2とかは必要ではないですかね?
だいぶ前に作ったので、htttpsを使うための最低限の設定箇所がわからなくなってるので参考までに全部のせておきます。

<VirtualHost *:443>
    DocumentRoot "/var/www/html"
    KeepAlive On
    MaxKeepAliveRequests 20
    KeepAliveTimeout 5

    <IfModule mod_deflate.c>
         SetOutputFilter DEFLATE

         # Mozilla4系などの古いブラウザで無効、しかしMSIEは除外
         BrowserMatch ^Mozilla/4\.0[678] no-gzip
         BrowserMatch ^Mozilla/4 gzip-only-text/html
         BrowserMatch \bMSI[E] !no-gzip !gzip-only-text/html

         # gifやjpgなど圧縮済みのコンテンツは再圧縮しない
         SetEnvIfNoCase Request_URI \.(?:gif|jpe?g|png|ico)$ no-gzip dont-vary
         SetEnvIfNoCase Request_URI _\.utxt$ no-gzip

         # htmlやcssなどは圧縮
         AddOutputFilterByType DEFLATE text/plain
         AddOutputFilterByType DEFLATE text/html
         AddOutputFilterByType DEFLATE text/xml
         AddOutputFilterByType DEFLATE text/css
         AddOutputFilterByType DEFLATE application/xhtml+xml
         AddOutputFilterByType DEFLATE application/xml
         AddOutputFilterByType DEFLATE application/rss+xml
         AddOutputFilterByType DEFLATE application/atom_xml
         AddOutputFilterByType DEFLATE application/x-javascript
         AddOutputFilterByType DEFLATE application/x-httpd-php
    </IfModule>

    <IfModule mod_cache.c>
        <IfModule mod_disk_cache.c>
            CacheRoot /tmp/cache
            CacheEnable disk /
            CacheDirLevels 5
            CacheDirLength 3
        </IfModule>
    </IfModule>

    <IfModule mod_headers.c>
        Header always set Strict-Transport-Security "max-age=15768000; includeSubDomains; preload"
    </IfModule>
    ServerName ほげほげ.com

    ErrorLog logs/ssl_error_log
    TransferLog logs/ssl_access_log
    LogLevel warn

    SSLEngine on

    SSLProtocol all -SSLv2

    SSLCipherSuite HIGH:MEDIUM:!aNULL:!MD5:!SEED:!IDEA


    SSLCertificateFile /etc/letsencrypt/live/ほげほげ.com/cert.pem

    SSLCertificateKeyFile /etc/letsencrypt/live/ほげほげ.com/privkey.pem


    <Files ~ "\.(cgi|shtml|phtml|php3?)$">
        SSLOptions +StdEnvVars
    </Files>
    <Directory "/var/www/cgi-bin">
        SSLOptions +StdEnvVars
        AllowOverride All
    </Directory>

    BrowserMatch "MSIE [2-5]" \
         nokeepalive ssl-unclean-shutdown \
         downgrade-1.0 force-response-1.0

    CustomLog logs/ssl_request_log \
          "%t %h %{SSL_PROTOCOL}x %{SSL_CIPHER}x \"%r\" %b"

    SSLCertificateChainFile /etc/letsencrypt/live/ほげほげ.com/chain.pem

</VirtualHost>

―――以下追記―――

http://httpd.apache.org/docs/2.4/ja/ssl/ssl_howto.html
公式には以下の設定が最低限必要と記載があります。
LoadModule、Listen、SSLEngineの記述が必要のようです。
コメントアウトされていたりしませんか?

LoadModule ssl_module modules/mod_ssl.so

Listen 443
<VirtualHost *:443>
    ServerName www.example.com
    SSLEngine on
    SSLCertificateFile "/path/to/www.example.com.cert"
    SSLCertificateKeyFile "/path/to/www.example.com.key"
</VirtualHost>

投稿

編集

  • 回答の評価を上げる

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

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

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

  • 回答の評価を下げる

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

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

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

  • 2017/01/16 15:30

    ありがとうございます。上記の設定は
    ssl.conf(/etc/httpd/conf.d/ssl.conf)で設定されましたでしょうか?

    キャンセル

  • 2017/01/16 15:34


    /etc/httpd/conf.d/ssl.confですね。

    キャンセル

  • 2017/01/16 18:05

    ありがとうございます。

    キャンセル

  • 2017/01/21 15:34 編集

    現在(/etc/httpd/conf.d/virtualhost-ほげほげ.com.conf)ファイルにご教示頂きました、記述をしたのですが、動かないです。

    キャンセル

+1

443 で、ポート空いていますか?

Apache の Listen や ファイヤウォールの設定はされましたか?

投稿

  • 回答の評価を上げる

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

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

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

  • 回答の評価を下げる

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

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

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

  • 2017/01/16 10:34

    返信ありがとうございます。

    > ファイヤウォールの設定
    しました。

    >443 で、ポート空いていますか?
    >Apache の Listen
    空いているか確認します。
    空いていれば、 /etc/httpd/conf.d/ssl.confに
    ServerName ほげほげ.com:443
    と追記すればいいでしょうか?

    キャンセル

  • 2017/01/16 12:17

    まずは、コマンドラインで
    netstat -a | grep https
    とか
    netstat -an| grep 443
    で、https で、待ち受けしているかポートの確認でしょうか。

    キャンセル

  • 2017/01/16 12:27

    もし、ポートを確認した結果、https や 443 が なかった場合は、Listen 設定を確認してください。

    キャンセル

  • 2017/01/16 13:44

    ありがとうございます。それぞれ以下の結果が返ってきました。

    >netstat -a | grep https
    tcp6 0 0 [::]:https [::]:* LISTEN

    >netstat -an| grep 443
    tcp6 0 0 :::443 :::* LISTEN

    キャンセル

  • 2017/01/16 18:03 編集

    お使いの環境は、IPv6 環境でしょうか?
    IPv6のループバックだけポートが解放されているようです。
    IPv6の環境でないのであれば、IPv4 のポートはあいてないようです。
    って、書いてから気がつきましたが、さくらのVPS ですね。


    IPv4 での設定がおかしいようです。
    Apache か Firewall の設定を、再度見直しましょう。

    キャンセル

0

apacheを再起動し、サイトにアクセスしてもhttpsになっておらず、通常のhttpのままです。 

http:// でアクセスしたら自動的に https:// で接続されるわけじゃありません。
あくまでも、 https:// でアクセスした時に、SSL通信になります。

投稿

  • 回答の評価を上げる

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

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

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

  • 回答の評価を下げる

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

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

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

  • 2017/01/15 20:03

    返信ありがとうございます。
    https:// でアクセスしても、
    「このサイトにアクセスできません」
    と表示されます。

    キャンセル

  • 2017/01/15 20:05 編集

    じゃあ、ログを調べることですね。
    設定値が正しいかどうか調べるコマンドも存在するので、そういった方法も試しましょう。

    キャンセル

  • 2017/01/15 20:27

    >設定値が正しいかどうか調べるコマンド
    apachectl -tで確認すると、
    Syntax OKとなります。

    キャンセル

  • 2017/01/16 00:13

    ちゃんとコメント読んでいるんでしょうか?

    キャンセル

  • 2017/01/16 09:33

    コメントありがとうございます。

    >コメント読んでいるんでしょうか?
    解読できていない部分がありそうです・・・

    ログを調べることができておりません。

    ログを調べるために叩いたコマンドとしては、
    -f /var/log/messages
    です。
    結果、
    ーーーーーーーー
    sudo: invalid option -- 'f'
    usage: sudo [-D level] -h | -K | -k | -V
    usage: sudo -v [-AknS] [-D level] [-g groupname|#gid] [-p prompt] [-u user
    name|#uid]
    usage: sudo -l[l] [-AknS] [-D level] [-g groupname|#gid] [-p prompt] [-U user
    name] [-u user name|#uid] [-g groupname|#gid] [command]
    usage: sudo [-AbEHknPS] [-r role] [-t type] [-C fd] [-D level] [-g
    groupname|#gid] [-p prompt] [-u user name|#uid] [-g groupname|#gid]
    [VAR=value] [-i|-s] [<command>]
    usage: sudo -e [-AknS] [-r role] [-t type] [-C fd] [-D level] [-g
    groupname|#gid] [-p prompt] [-u user name|#uid] file ...
    ーーーーーー

    と返ってきましたがどう改善したらいいか行き詰まっております。

    キャンセル

  • 2017/01/16 14:50 編集

    apacheのログを調べてください
    /var/log/httpd/error_log

    キャンセル

  • 2017/01/16 18:00

    ありがとうございます。
    下記のログが見つかりました。

    [Mon Jan 16 03:18:01.901124 2017] [mpm_prefork:notice] [pid 2966] AH00163: Apache/2.4.6 (CentOS) OpenSSL/1.0.1e-fips PHP/7.0.14 configured -- resuming normal operations

    キャンセル

0

さくらのKUSANAGIっていうサービスを使って構築していたりしますか?
利用している場合はKUSANAGIのバージョンを教えてください。

 kusanagi status

KUSANAGIを利用している場合は以下URLを参考にしてみると良いかもしれません。
http://www.madoka-saotome.xyz/entry/2016/12/15/141101

投稿

編集

  • 回答の評価を上げる

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

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

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

  • 回答の評価を下げる

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

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

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

  • 2017/01/16 14:53

    返信ありがとうございます。KUSANAGIは構築しておりません。

    キャンセル

  • 2017/01/16 14:54

    失礼しました。

    キャンセル

  • 2017/01/17 10:11

    すいません。ちなみに「このサイトにアクセスできません」と表示されるのはすべてのブラウザでしょうか?
    例えばwindowsからだと見れるけどmacからは見れないとかになっていたりしますでしょうか?

    キャンセル

  • 2017/01/17 10:27

    コメントありがとうございます。すべてのブラウザです。

    キャンセル

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

  • Linux

    4375questions

    Linuxは、Unixをベースにして開発されたオペレーティングシステムです。日本では「リナックス」と呼ばれています。 主にWebサーバやDNSサーバ、イントラネットなどのサーバ用OSとして利用されています。 上位500のスーパーコンピュータの90%以上はLinuxを使用しています。 携帯端末用のプラットフォームAndroidは、Linuxカーネル上に構築されています。

  • CentOS

    3087questions

    CentOSは、主にRed Hat Enterprise Linux(RHEL)をベースにした、フリーのソフトウェアオペレーティングシステムです。

  • SSL

    584questions

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

  • HTTPS

    308questions

    HTTPS(Hypertext Transfer Protocol Secure)はHypertext Transfer プロトコルとSSL/TLS プロトコルを組み合わせたものです。WebサーバとWebブラウザの間の通信を暗号化させて、通信経路上での盗聴や第三者によるなりすましを防止します。