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

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

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

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

Q&A

解決済

2回答

2279閲覧

さくらVPSにSSLを導入したいのですがうまくいきません

yusukesasaki

総合スコア28

SSL

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

0グッド

0クリップ

投稿2017/11/03 20:34

編集2017/11/06 10:54

環境: CentOS6.9 Apache/2.2.15
SSL: ラピッドSSL

下記を行う前はhttp:// で問題なく表示されている状態でしたが、
現在は http:// https:// どちらも表示されない状態です。

最初にOpenSSLをyumからインストールしました。

yum install openssl-devel

opensslのインストール先を確認しようと下記を実行すると
find / -name openssl

/etc/pki/ca-trust/extracted/openssl /usr/bin/openssl /usr/include/openssl /usr/lib64/openssl

上記が表示され、/usr/bin/opensslがインストール先だと認識しました。

次に「CSRの生成」を行いました。
https://www.geotrust.co.jp/support/ssl/csr/apache_openssl_new.html

次に「SSLサーバ証明書の申込」を行い、
https://help.sakura.ad.jp/hc/ja/articles/206056662--%E3%82%B8%E3%82%AA%E3%83%88%E3%83%A9%E3%82%B9%E3%83%88-SSL%E3%82%B5%E3%83%BC%E3%83%90%E8%A8%BC%E6%98%8E%E6%9B%B8%E3%81%AE%E7%94%B3%E8%BE%BC%E6%89%8B%E9%A0%86

さくら会員メニューからラピッドSSLサーバー証明書をダウンロードしました。

次に中間CA証明書を準備しました。
https://www.geotrust.co.jp/resources/rapidssl/repository/intermediate_sha2.html#b

次にサーバーにSSL証明書・中間CA証明書を設置し、Apacheを再起動しました。
https://www.geotrust.co.jp/support/ssl/install/apache_openssl_new.html

証明書ファイルを/usr/certs/newcert.pem、秘密鍵ファイルを/usr/private/newkey.pem、中間CA証明書ファイルを/usr/certs/inca.pemに設置し、ssl.confもそれぞれのパスに変更しました。

Apache再起動時にエラーメッセージが発生しましたが下記を参照して、現在は解消していると思います。
http://nobuneko.com/blog/archives/2014/12/apache_httpd_apr_sockaddr_info_get_could_not_reliably_determine_fqdn.html

httpd.confでドキュメントルートを変更しています。

<VirtualHost *:80> DocumentRoot /var/www/html/master/public_html/ ServerName www.xxxx.jp </VirtualHost>

それに合わせてssl.confも下記の様に変更してみました。

<VirtualHost _default_:443> DocumentRoot "/var/www/html/master/public_html/" ServerName www.xxxx.jp:443 ・ ・ ・ </VirtualHost>

何か設定が間違っている、または足りていないんだと思いますが、
http:// でも表示できなくなってしまい困っています。

よろしくお願いたします。

【追記】
関係があるかわかりませんが、iptables -L -n --line-numberを実行した結果は下記の様になっています。

Chain INPUT (policy ACCEPT) num target prot opt source destination 1 ACCEPT all -- 0.0.0.0/0 0.0.0.0/0 state RELATED,ESTABLISHED 2 ACCEPT icmp -- 0.0.0.0/0 0.0.0.0/0 3 ACCEPT all -- 0.0.0.0/0 0.0.0.0/0 4 ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 state NEW tcp dpt:22 5 REJECT all -- 0.0.0.0/0 0.0.0.0/0 reject-with icmp-host-prohibited Chain FORWARD (policy ACCEPT) num target prot opt source destination 1 REJECT all -- 0.0.0.0/0 0.0.0.0/0 reject-with icmp-host-prohibited Chain OUTPUT (policy ACCEPT) num target prot opt source destination

ssl.confのSSLEngineSSLEngine offになっています。

【追記 2017/11/06】
現在、httpでの表示は出来るようになりました。httpsは変わらず表示できていない状態です。
(外注先さんが復旧してくださったので、作業内容は不明です…)

httpで表示されるようになる前の情報ですが、Apache再起動時にerror_logに下記が表示されていました。

[notice] caught SIGTERM, shutting down [notice] SELinux policy enabled; httpd running as context unconfined_u:system_r:httpd_t:s0 [notice] suEXEC mechanism enabled (wrapper: /usr/sbin/suexec) [warn] Init: (www.xxxx.jp:443) You configured HTTP(80) on the standard HTTPS(443) port! [notice] Digest: generating secret for digest authentication ... [notice] Digest: done [warn] Init: (www.xxxx.jp:443) You configured HTTP(80) on the standard HTTPS(443) port! notice] Apache/2.2.15 (Unix) DAV/2 PHP/5.3.3 mod_ssl/2.2.15 OpenSSL/1.0.1e-fips configured -- resuming normal operations

現在は稼働中のため再起動ができないのですが、週末に再度試すことができますので、また書き込ませていただきます。

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

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

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

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

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

CHERRY

2017/11/04 01:14

再起動したタイミングで、エラーログ ( /var/log/httpd/error_log ) にメッセージが出ていないでしょうか? エラーログの内容を質問に追記してください。
yusukesasaki

2017/11/06 10:56

コメントありがとうございます。エラーログを追記しましたが、現在httpで表示できている状態なので、今再起動すると内容が変わっているかもしれません。週末に再起動可能なので、また報告させていただきます。
guest

回答2

0

ベストアンサー

[warn] Init: (www.xxxx.jp:443) You configured HTTP(80) on the standard HTTPS(443) port!

HTTPS を使いたいのであれば、ssl.conf で SSLEngine on にする必要があります。

まずは、localhost からアクセスできるか確認します。

  1. ss -tln または netstat -tln で 80, 443 番ポートが LISTEN しているか確認
  2. curl -H "Host: www.xxxx.com" http://127.0.0.1/ で応答があるかどうか確認
  3. curl -k -H "Host: www.xxxx.com" https://127.0.0.1/ で応答があるかどうか確認

localhost からのアクセスに問題がなければ、次は外部から確認します。
iptables で 80, 443 番ポートへの接続を許可する必要があります。
【追記】の情報で 80 番ポートが許可されていないのに、なぜ http:// でアクセスできるのかは謎です。

投稿2017/11/06 15:06

TaichiYanagiya

総合スコア12146

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

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

0

httpでもアクセスできないのはapacheが起動していないためでしょうか。
apachectl configtestの結果はSyntax OKとなるでしょうか。
なっていないようであれば、該当のエラーを解消すればapacheの起動はできるものと思います。

投稿2017/11/03 21:14

退会済みユーザー

退会済みユーザー

総合スコア0

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

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

yusukesasaki

2017/11/03 21:18 編集

回答ありがとうございます。 `apachectl configtest` を実行したところ、Syntax OKとなりました。
退会済みユーザー

退会済みユーザー

2017/11/03 21:21

では設定にエラーは無いようです。 DocumentRootの変更をされていますが、該当のパスはapacheの実行ユーザーが参照できるでしょうか。 su - apache 等としてスイッチしてから確認するとやりやすいと思います。 SELinuxがもし有効なのであれば、その辺りに原因があるかもしれません。
yusukesasaki

2017/11/03 21:44

ありがとうございます。 getenforceを実行すると、Enforcingが表示されました。 apacheに切り替えてドキュメントルート内を確認しましたが、ファイル等参照可能でした。
yusukesasaki

2017/11/03 21:45

関係があるかわからないのですが、少し情報を追加しました。 よろしければご確認お願いします。
退会済みユーザー

退会済みユーザー

2017/11/03 21:49 編集

setenforce 0 を実行してapacheを再起動し、httpでのアクセスが可能かをお確かめください。 https側は、設定内容が質問に記載の内容からは把握できないため、まだうまくいかない原因等はわかりません。
yusukesasaki

2017/11/03 21:55

追記の情報に誤りがあっため、修正しました。 正しくは ssl.confのSSLEngineはSSLEngine offになっています。 です。 setenforce 0を実行してApacheを再起動しました。 getenforceはPermissiveになりましたが、 http:// で接続しても同じくエラーでした。
退会済みユーザー

退会済みユーザー

2017/11/03 22:00

エラーはHTTPのステータスコードを返しているでしょうか。 403、404、500等あるかと思います。 error_logにも状況は出力されているのではないかと思います。
yusukesasaki

2017/11/03 22:23

丁寧に回答いただきありがとうございます。 このページは表示できませんとだけ表示されており、おそらくステータスコードは返していないようです。 ブラウザからアクセスした際は/var/log/httpd/error_logには特に残っていませんでした。 Apacheを再起動した際に下記が表示されます。 [notice] caught SIGTERM, shutting down [notice] SELinux policy enabled; httpd running as context unconfined_u:system_r:httpd_t:s0 [notice] suEXEC mechanism enabled (wrapper: /usr/sbin/suexec) [warn] Init: (www.xxxx.jp:443) You configured HTTP(80) on the standard HTTPS(443) port! [notice] Digest: generating secret for digest authentication ... [notice] Digest: done [warn] Init: (www.xxxx.jp:443) You configured HTTP(80) on the standard HTTPS(443) port! notice] Apache/2.2.15 (Unix) DAV/2 PHP/5.3.3 mod_ssl/2.2.15 OpenSSL/1.0.1e-fips configured -- resuming normal operations
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問