目次
検証環境
サーバー: さくら 1G SSD
OS: CentOS 6.5
webserver: フロント:nginx バック:apache
※リパースプロキシを利用
apache起動時にエラーが表示される
ある日ページにアクセスした時のことです。
えっ、し、死んでる!
apacheが死んでる?
急いでapacheを起動しようとすると以下のような状態になりました。
$ sudo service httpd start httpd を起動中: (98)Address already in use: make_sock: could not bind to address [::]:443 (98)Address already in use: make_sock: could not bind to address 0.0.0.0:443 no listening sockets available, shutting down Unable to open logs
うーむ、エラーの文面を読むと443ポートは利用済みだよーとのことです。
443ポートという事は、SSLを利用するポートですねー・・・・あ!
nginxとapacheの両方で443ポートを利用している
はい、完全に間抜けなミスです。
このサーバーでは、nginxがリバースプロキシでapacheを呼び出しています。
そして、naginxとapacheに以下の設定をしていました。
・apache設定
~~~~~~~~~~~~~~~~~~~ # # When we also provide SSL we have to listen to the # the HTTPS port in addition. # Listen 443 ~~~~~~~~~~~~~~~~~~~
・nginx設定
~~~~~~~~~~~~~~~~~~~ ssl on; listen 443 ssl; server_name hoge.com:443; ~~~~~~~~~~~~~~~~~~~
うかつ、うかつです。
リバースプロキシを設定する前のapachの設定ファイルが残っていました・・・
というわけで今回は、apacheの設定ファイルを無効化します。
$ cd /etc/apache/conf.d $ sudo mv ssl-vhost.conf ssl-vhost.conf_bck
そして、apacheを起動してみる。
$ sudo service httpd start
設定漏れって怖い・・・
以上、お疲れ様でした。