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

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

新規登録して質問してみよう
ただいま回答率
85.50%
CentOS

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

HTTPS

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

SSL

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

Linux

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

Q&A

解決済

4回答

7053閲覧

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

akkkkin

総合スコア83

CentOS

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

HTTPS

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

SSL

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

Linux

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

0グッド

1クリップ

投稿2017/01/15 10:18

編集2017/01/21 05:38

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

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

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

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

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

#下記のコマンドで取得を確認。 $ sudo ls -l /etc/letsencrypt/live/ほげほげ.com 合計 0 lrwxrwxrwx 1 root root 33 8月 28 04:29 2016 cert.pem -> ../../archive/ほげほげ.com/cert1.pem lrwxrwxrwx 1 root root 34 8月 28 04:29 2016 chain.pem -> ../../archive/ほげほげ.com/chain1.pem lrwxrwxrwx 1 root root 38 8月 28 04:29 2016 fullchain.pem -> ../../archive/ほげほげ.com/fullchain1.pem lrwxrwxrwx 1 root root 36 8月 28 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

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

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

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

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答4

0

ベストアンサー

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

bash

1 2<VirtualHost *:443> 3 DocumentRoot "/var/www/html" 4 KeepAlive On 5 MaxKeepAliveRequests 20 6 KeepAliveTimeout 5 7 8 <IfModule mod_deflate.c> 9 SetOutputFilter DEFLATE 10 11 # Mozilla4系などの古いブラウザで無効、しかしMSIEは除外 12 BrowserMatch ^Mozilla/4\.0[678] no-gzip 13 BrowserMatch ^Mozilla/4 gzip-only-text/html 14 BrowserMatch \bMSI[E] !no-gzip !gzip-only-text/html 15 16 # gifやjpgなど圧縮済みのコンテンツは再圧縮しない 17 SetEnvIfNoCase Request_URI \.(?:gif|jpe?g|png|ico)$ no-gzip dont-vary 18 SetEnvIfNoCase Request_URI _\.utxt$ no-gzip 19 20 # htmlやcssなどは圧縮 21 AddOutputFilterByType DEFLATE text/plain 22 AddOutputFilterByType DEFLATE text/html 23 AddOutputFilterByType DEFLATE text/xml 24 AddOutputFilterByType DEFLATE text/css 25 AddOutputFilterByType DEFLATE application/xhtml+xml 26 AddOutputFilterByType DEFLATE application/xml 27 AddOutputFilterByType DEFLATE application/rss+xml 28 AddOutputFilterByType DEFLATE application/atom_xml 29 AddOutputFilterByType DEFLATE application/x-javascript 30 AddOutputFilterByType DEFLATE application/x-httpd-php 31 </IfModule> 32 33 <IfModule mod_cache.c> 34 <IfModule mod_disk_cache.c> 35 CacheRoot /tmp/cache 36 CacheEnable disk / 37 CacheDirLevels 5 38 CacheDirLength 3 39 </IfModule> 40 </IfModule> 41 42 <IfModule mod_headers.c> 43 Header always set Strict-Transport-Security "max-age=15768000; includeSubDomains; preload" 44 </IfModule> 45 ServerName ほげほげ.com 46 47 ErrorLog logs/ssl_error_log 48 TransferLog logs/ssl_access_log 49 LogLevel warn 50 51 SSLEngine on 52 53 SSLProtocol all -SSLv2 54 55 SSLCipherSuite HIGH:MEDIUM:!aNULL:!MD5:!SEED:!IDEA 56 57 58 SSLCertificateFile /etc/letsencrypt/live/ほげほげ.com/cert.pem 59 60 SSLCertificateKeyFile /etc/letsencrypt/live/ほげほげ.com/privkey.pem 61 62 63 <Files ~ "\.(cgi|shtml|phtml|php3?)$"> 64 SSLOptions +StdEnvVars 65 </Files> 66 <Directory "/var/www/cgi-bin"> 67 SSLOptions +StdEnvVars 68 AllowOverride All 69 </Directory> 70 71 BrowserMatch "MSIE [2-5]" \ 72 nokeepalive ssl-unclean-shutdown \ 73 downgrade-1.0 force-response-1.0 74 75 CustomLog logs/ssl_request_log \ 76 "%t %h %{SSL_PROTOCOL}x %{SSL_CIPHER}x \"%r\" %b" 77 78 SSLCertificateChainFile /etc/letsencrypt/live/ほげほげ.com/chain.pem 79 80</VirtualHost>

―――以下追記―――

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

bash

1LoadModule ssl_module modules/mod_ssl.so 2 3Listen 443 4<VirtualHost *:443> 5 ServerName www.example.com 6 SSLEngine on 7 SSLCertificateFile "/path/to/www.example.com.cert" 8 SSLCertificateKeyFile "/path/to/www.example.com.key" 9</VirtualHost>

投稿2017/01/16 05:09

編集2017/01/16 06:42
mosapride

総合スコア1480

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

akkkkin

2017/01/16 06:30

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

2017/01/16 06:34

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

2017/01/16 09:05

ありがとうございます。
akkkkin

2017/01/21 06:34 編集

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

0

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

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

投稿2017/01/15 23:14

CHERRY

総合スコア25171

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

akkkkin

2017/01/16 01:34

返信ありがとうございます。 > ファイヤウォールの設定 しました。 >443 で、ポート空いていますか? >Apache の Listen 空いているか確認します。 空いていれば、 /etc/httpd/conf.d/ssl.confに ServerName ほげほげ.com:443 と追記すればいいでしょうか?
CHERRY

2017/01/16 03:17

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

2017/01/16 03:27

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

2017/01/16 04:44

ありがとうございます。それぞれ以下の結果が返ってきました。 >netstat -a | grep https tcp6 0 0 [::]:https [::]:* LISTEN >netstat -an| grep 443 tcp6 0 0 :::443 :::* LISTEN
CHERRY

2017/01/16 09:05 編集

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

0

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

sh

1 kusanagi status

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

投稿2017/01/16 05:49

編集2017/01/16 05:51
Shota_T

総合スコア40

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

akkkkin

2017/01/16 05:53

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

2017/01/16 05:54

失礼しました。
Shota_T

2017/01/17 01:11

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

2017/01/17 01:27

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

0

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

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

投稿2017/01/15 10:51

退会済みユーザー

退会済みユーザー

総合スコア0

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

akkkkin

2017/01/15 11:03

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

退会済みユーザー

2017/01/15 11:07 編集

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

2017/01/15 11:27

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

退会済みユーザー

2017/01/15 15:13

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

2017/01/16 00: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 06:15 編集

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

2017/01/16 09: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
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.50%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問