reyfox blog

reyfox tech info

Apache2.4系 CentOS Linux

Apache httpdにワイルドカードの自己証明SSLを設定

投稿日:

現在では常時SSL化が流行ってきていてローカルの開発時でもSSL化しておくとWebアプリケーションを作ったときに検証などしやすくなります。

毎回サブドメインごとに自己証明のSSLを発行するのが面倒なので、ワイルドカードのSSLを発行します。

なお、自己証明なので、ブラウザの警告は出ます。ブラウザ側で設定を変えるなどしてアクセスするようにしてください。

今回のドメイン: reyfox.lo(内向きDNSで設定しているドメインとなります)

秘密鍵を作成する

まず以下のコマンドで秘密鍵を作成します。


cd /etc/pki/tls/certs
openssl genrsa -aes128 2048 > wild.key
Generating RSA private key, 2048 bit long modulus
......+++
......................+++
e is 65537 (0x10001)
Enter pass phrase:
Verifying - Enter pass phrase:

作成するときにパスフレーズが求められます。(ブランク不可)これは必須ですがサーバの起動ごとに聞かれるのでパスフレーズを削除します。

秘密鍵のパスフレーズの削除


openssl rsa -in wild.key -out wild.key.out
Enter pass phrase for wild.key:
writing RSA key
rm wild.key
mv wild.key.out wild.key

wild.key.outにパスフレーズなしの秘密鍵を作成し、その後パスフレーズありの秘密鍵を削除し、wild.key へとリネームします。

CSRの発行


openssl req -new -key wild.key > wild.csr
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) [XX]:JP
State or Province Name (full name) []:
Locality Name (eg, city) [Default City]:
Organization Name (eg, company) [Default Company Ltd]:
Organizational Unit Name (eg, section) []:
Common Name (eg, your name or your server's hostname) []:*.reyfox.lo
Email Address []:

Please enter the following 'extra' attributes
to be sent with your certificate request
A challenge password []:
An optional company name []:

内容は適当で良いですが Common Nameの部分だけ、*.ドメイン名にします。

自己証明する(通称オレオレ証明書)


openssl x509 -in wild.csr -days 36500 -req -signkey wild.key > wild.crt
Signature ok
subject=/C=JP/L=Default City/O=Default Company Ltd/CN=*.reyfox.lo
Getting Private key

期限は普通1年や2年ですが開発用なので100年にします。

あとは yum で mod_ssl をインストールし、config ファイルを作成します。(例: /etc/httpd/conf.d/ssl.conf)


SSLCertificateFile /etc/pki/tls/certs/wild.crt
SSLCertificateKeyFile /etc/pki/tls/certs/wild.key

上記のように発行したオレオレ証明書と秘密鍵を設定するだけでワイルドカードSSLの設定が完了します。

なお上記の証明書はApacheだけでなくnginxなどでも使用できます。

先にも書きましたがもちろん第三機関に認証されてないオレオレ証明書なのでブラウザの警告はでるので例外として登録しておく必要があります。

-Apache2.4系, CentOS, Linux

執筆者:

関連記事

CentOS7でmuninでサーバを監視する

muninは非常に簡単でサーバの状態を確認できるツールとなっています。 インストールと設定 yum install munin-apache.noarch munin-node munin-commo …

CentOS7の初期設定

CentOS7 を Intel NUC にインストールしましたが今の所家庭内ネットワークからのみの想定で、外部からのアクセスはすべてルータでフィルタリングしているため、利便性のため下記の設定を行います …

CentOS7上でiperfを使いネットワークの速度を測定

iperf というソフトを使うと、ネットワークの速度を測定できます。主にLAN内の速度(スループット)を測るために使用します。 iperf のインストール yum install epel-relea …

grafanaに外気温グラフを追加する

以前、USB温度計で室内の温度を測ってましたが、これに外気温も追加してみたいと思います。 以前の記事: CentOS7上でUSB温度計で温度を記録してgrafanaでグラフ化する 外気温を得るには外に …

CentOS7にPHP 7.2をインストール

WebプログラミングでおなじみPHPをインストール設定します。PHPは現在では最新が7.2となっていて、CentOS7標準のリポジトリで提供されている5.4は古いのでインストールしません。 インストー …