【Linux】DNSの向けられていないテストサーバーで、テスト証明書を3分以内に発行する方法
開発案件をこなしていると、時折、テスト用のサーバー内で作業していて、テストサーバー自体にSSL証明書を導入しなければならないことがあります。
でないと、https://〜のURLでテストサイトにアクセスできないので、一向に開発が進まないことがある、という図式ですな☆
でも、問題は、Let's Encryptなんかを導入すると、DNSをサーバーに向けていないと、SSLが導入できない・・・なんていう、じれったい現象が起きます。
ほかのSSL会社が、テスト証明書を発行してくれていたりもしますが、
正直、テストサーバーごときに、SSL設定なんて面倒な事はしたくないのですよ・・・。
というわけで、最速でこの、「DNSの割り当てられていないテストサーバーを、なんでもいいのでSSL対応にしたい」という問題を解決したいと思います。
まずは、CSRの発行まで。言い忘れましたが、単なるテスト証明書なので、オレオレ証明書で行きます。
ここまでで、いろいろ聞かれるので、適当に入力します。
Country Name (2 letter code) [XX]:JP
State or Province Name (full name) []:Tokyo
Locality Name (eg, city) [Default City]:Tokyo-to
Organization Name (eg, company) [Default Company Ltd]:Test
Organizational Unit Name (eg, section) []:Test
Common Name (eg, your name or your server's hostname) []:your domain.com
Email Address []:
Please enter the following 'extra' attributes
to be sent with your certificate request
A challenge password []:
An optional company name []:
Common Nameはまともに入力しておきましょう。
それから、テスト用証明書の発行です。
最後に、Apacheの設定をします。
vi /etc/httpd/conf.d/ssl.confを開いて、
慣れれば3分で解決できるはずです。
めでたしめでたし☆
でないと、https://〜のURLでテストサイトにアクセスできないので、一向に開発が進まないことがある、という図式ですな☆
でも、問題は、Let's Encryptなんかを導入すると、DNSをサーバーに向けていないと、SSLが導入できない・・・なんていう、じれったい現象が起きます。
ほかのSSL会社が、テスト証明書を発行してくれていたりもしますが、
正直、テストサーバーごときに、SSL設定なんて面倒な事はしたくないのですよ・・・。
というわけで、最速でこの、「DNSの割り当てられていないテストサーバーを、なんでもいいのでSSL対応にしたい」という問題を解決したいと思います。
コード
まずは、CSRの発行まで。言い忘れましたが、単なるテスト証明書なので、オレオレ証明書で行きます。
openssl genrsa -out /etc/httpd/test.key 2048
openssl req -new -key /etc/httpd/test.key -out /etc/httpd/test.csr
openssl req -new -key /etc/httpd/test.key -out /etc/httpd/test.csr
ここまでで、いろいろ聞かれるので、適当に入力します。
Country Name (2 letter code) [XX]:JP
State or Province Name (full name) []:Tokyo
Locality Name (eg, city) [Default City]:Tokyo-to
Organization Name (eg, company) [Default Company Ltd]:Test
Organizational Unit Name (eg, section) []:Test
Common Name (eg, your name or your server's hostname) []:your domain.com
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 -req -days 3650 -in /etc/httpd/test.csr -signkey /etc/httpd/test.key -out /etc/httpd/test.crt
最後に、Apacheの設定をします。
vi /etc/httpd/conf.d/ssl.confを開いて、
<VirtualHost *:443>
DocumentRoot "/var/www/virtual/yourdomain.com"
ServerName yorudomain.com:443
SSLEngine On
SSLCertificateFile "/etc/httpd/test.crt"
SSLCertificateKeyFile "/etc/httpd/test.key"
</VirtualHost>
DocumentRoot "/var/www/virtual/yourdomain.com"
ServerName yorudomain.com:443
SSLEngine On
SSLCertificateFile "/etc/httpd/test.crt"
SSLCertificateKeyFile "/etc/httpd/test.key"
</VirtualHost>
service httpd configtest
で、Syntax OKが出たら、
service httpd reload
で、Syntax OKが出たら、
service httpd reload
解決!!!
慣れれば3分で解決できるはずです。
めでたしめでたし☆
この記事の最終更新日:2018/02/14
最初に記事を書いた日:2018/02/14
この記事をシェアする
関連記事
- ・hosts.denyを使わずに、サーバーへの全てのアクセスをIPアドレス拒否する方法
- ・「.well-known」以下をwwwにリダイレクトさせない方法
- ・【格安VPN】NordVPNは本当に安全なのか?【閲覧履歴ダダ漏れw】
- ・「root@notty」って何者?
- ・アクセス解析ツール「awstats」をCentOSにyumでインストールする
- ・Kali LinuxをVagrantにインストールする
- ・【Tomcat】Apache+Tomcat連携で、特定のディレクトリのみTomcatにする方法
- ・【PHP】HTTPDの溜まりきったログを一気に削除する方法
- ・Macでトンネル接続してFTP/SFTP接続する簡単な方法
- ・【.htaccess】httpアクセスをhttpsに強制リダイレクトで、特定のファイルやディレクトリを除外する方法