Serversman@vpsにてSSLを設定する方法

  • このエントリーをはてなブックマークに追加

このブログはServersman@vpsのCentOS上で動いています。
ブログの他にもいくつかサイトが有って、SSLの必要が出てきたので設定した方法を書きます。
また、証明書は独自の証明書(オレオレ証明書)を使います。

目次

  • mod_sslインストール
  • Makefileで証明書(.crt)ファイルの作成
  • Apache(mod_ssl)の設定

mod_sslインストール

[root@suusuke ~]# yum -y install mod_ssl

Makefileで証明書(.crt)ファイルの作成

[root@suusuke ~]# cd /etc/pki/tls/certs/
[root@suusuke certs]# make server.crt
umask 77 ; \
	/usr/bin/openssl genrsa -des3 1024 > server.key
Generating RSA private key, 1024 bit long modulus
.....++++++
.................................++++++
e is 65537 (0x10001)
Enter pass phrase:
Verifying - Enter pass phrase:
umask 77 ; \
	/usr/bin/openssl req -utf8 -new -key server.key -x509 -days 365 -out server.crt -set_serial 0
Enter pass phrase for server.key:
You are about to be asked to enter information that will be incorporated
into your certificate request.
What you are about to enter is what is called a Distinguished Name or a DN.
There are quite a few fields but you can leave some blank
For some fields there will be a default value,
If you enter '.', the field will be left blank.
-----
Country Name (2 letter code) [GB]:JP
State or Province Name (full name) [Berkshire]:Miyagi
Locality Name (eg, city) [Newbury]:Sendai
Organization Name (eg, company) [My Company Ltd]:suusuke
Organizational Unit Name (eg, section) []:
Common Name (eg, your name or your server's hostname) []:Keisuke Suzuki
Email Address []:k.suke.suzuki@gmail.com

Apache(mod_ssl)の設定

バーチャルホストにて、複数サイトを運用しているので、バーチャルホスト毎に、httpd-vhosts-[サイト名]-ssl.confという設定ファイルにして個別に設定する。
まずは、ssl.confの<VirtualHost _default_:443\></VirtualHost>をコピーしてコメントアウトする。

[root@suusuke certs]# vi /etc/httpd/conf.d/ssl.conf 

#<VirtualHost _default_:443>
...
この間の設定を全部コピーしてコメントアウト
...
#</VirtualHost>

すでに、httpd-vhosts-[サイト名].confという名前でバーチャルホストを設定しているので、その設定ファイルをコピーしてhttpd-vhosts-[サイト名]-ssl.confという名前の設定ファイルを作成する。
また、ssl.confでコピーしたものを追記する。

[root@suusuke ~]# cp /etc/httpd/conf.d/httpd-vhosts.conf /etc/httpd/conf.d/httpd-vhosts-ssl.conf
[root@suusuke ~]# vi /etc/httpd/conf.d/httpd-vhosts-ssl.conf 

<VirtualHost *:443> ←ポート変更
    ServerName suusuke.info
    DocumentRoot /var/www/html
    ErrorLog logs/suusuke.info-error_log
    CustomLog logs/suusuke.info-access_log combined env=!no_log
    <Directory "/var/www/html">
        Options FollowSymLinks
        AllowOverride All
        Order allow,deny
        Allow from all
    </Directory>

    #ここから-----------------------------------------------------------------------
    SSLEngine on
    SSLProtocol all -SSLv2
    SSLCipherSuite ALL:!ADH:!EXPORT:!SSLv2:RC4+RSA:+HIGH:+MEDIUM:+LOW
    SSLCertificateFile /etc/pki/tls/certs/server.crt
    SSLCertificateKeyFile /etc/pki/tls/certs/server.key
    <Files ~ "\.(cgi|shtml|phtml|php3?)$">
        SSLOptions +StdEnvVars
    </Files>
    <Directory "/var/www/cgi-bin">
        SSLOptions +StdEnvVars
    </Directory>
    SetEnvIf User-Agent ".*MSIE.*" \
             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"
    #ここまで-----------------------------------------------------------------------
</VirtualHost>

Apache再起動

[root@suusuke ~]# /etc/rc.d/init.d/httpd restart

https://suusuke.infoにアクセスしてsslでアクセスできることを確認してオーケー!

  • このエントリーをはてなブックマークに追加

SNSでもご購読できます。

ads

コメントを残す

*