2013年9月4日水曜日

【Apache】(98)Address already in use: make_sock: could not bind to address [::]:443

■環境
CentOS release 6.3 (Final)
Server version: Apache/2.2.15 (Unix)

■原因
/etc/httpd/conf.d/ssl.conf

/etc/httpd/ports.conf
の両方で443ポートの設定を記述しているため

■対処方法
rm /etc/httpd/conf.d/ssl.conf

/etc/httpd/conf.d/ssl.confを削除するとssl_moduleが無効になる場合がある
その場合ため削除後にssl_moduleを有効にする設定を行う

touch /etc/httpd/mods-available/ssl.conf
vim /etc/httpd/mods-available/ssl.conf
<IfModule mod_ssl.c>
#
# Pseudo Random Number Generator (PRNG):
# Configure one or more sources to seed the PRNG of the SSL library.
# The seed data should be of good random quality.
# WARNING! On some platforms /dev/random blocks if not enough entropy
# is available. This means you then cannot use the /dev/random device
# because it would lead to very long connection times (as long as
# it requires to make more entropy available). But usually those
# platforms additionally provide a /dev/urandom device which doesn't
# block. So, if available, use this one instead. Read the mod_ssl User
# Manual for more details.
#
SSLRandomSeed startup builtin
SSLRandomSeed startup file:/dev/urandom 512
SSLRandomSeed connect builtin
SSLRandomSeed connect file:/dev/urandom 512

##
##  SSL Global Context
##
##  All SSL configuration in this context applies both to
##  the main server and all SSL-enabled virtual hosts.
##

#
#   Some MIME-types for downloading Certificates and CRLs
#
AddType application/x-x509-ca-cert .crt
AddType application/x-pkcs7-crl    .crl

#   Pass Phrase Dialog:
#   Configure the pass phrase gathering process.
#   The filtering dialog program (`builtin' is a internal
#   terminal dialog) has to provide the pass phrase on stdout.
SSLPassPhraseDialog  builtin

#   Inter-Process Session Cache:
#   Configure the SSL Session Cache: First the mechanism
#   to use and second the expiring timeout (in seconds).
#SSLSessionCache         dbm:/var/run/apache2/ssl_scache
SSLSessionCache        shmcb:/var/cache/mod_ssl/scache(512000)
SSLSessionCacheTimeout  300

#   Semaphore:
#   Configure the path to the mutual exclusion semaphore the
#   SSL engine uses internally for inter-process synchronization.
SSLMutex  default

SSLHonorCipherOrder On
#   SSL Cipher Suite:
#   List the ciphers that the client is permitted to negotiate.
#   See the mod_ssl documentation for a complete list.
#   enable only secure ciphers:
SSLCipherSuite RC4-SHA:HIGH:!ADH
#   Use this instead if you want to allow cipher upgrades via SGC facility.
#   In this case you also have to use something like
#        SSLRequire %{SSL_CIPHER_USEKEYSIZE} >= 128
#   see http://httpd.apache.org/docs/2.2/ssl/ssl_howto.html.en#upgradeenc
#SSLCipherSuite ALL:!ADH:!EXPORT56:RC4+RSA:+HIGH:+MEDIUM:+LOW:+SSLv2:+EXP:+eNULL

# enable only secure protocols: SSLv3 and TLSv1, but not SSLv2
SSLProtocol all -SSLv2

</IfModule>

touch /etc/httpd/mods-available/ssl.load
vim /etc/httpd/mods-available/ssl.load
LoadModule ssl_module /usr/lib64/httpd/modules/mod_ssl.so

cd /etc/httpd/mods-enabled
ln -s /etc/httpd/mods-available/ssl.conf ssl.conf
ln -s /etc/httpd/mods-available/ssl.load ssl.load

service httpd restart

再起動時に該当のエラーが出ないことを確認する
まだ、エラーが出るという場合は今回削除したファイル以外にも443ポートの設定を記述している箇所があると思われるので
そのファイルを削除または443ポートの設定を記載している箇所を削除する

今回はmods-available内に設定ファイルを設置しシンボリックリンクを貼ることでssl_moduleを有効にしたが
これはchefでApacheをインストールした場合の設定であり
自動でmods-available配下の設定ファイルをincludeする設定を事前に行っている

0 件のコメント:

コメントを投稿