yuu_nkjm blog
2016-09-13(Tue) [長年日記] 編集
[letsencrypt][Tomcat][SSL] TomcatのSSL化
サーバにデプロイするとChromeで動かない(https化の検討) · Issue #21 · MAGCruise/magcruise-citywalkLet's Encryptで取得した証明書を使ってTomcatでSSL通信 中間証明書を取得 https://letsencrypt.org/certificates/ Intermediate Certificates Let's Encrypt Authority X3 (IdenTrust cross-signed): [txt] [pem] [der] をダウンロードして,root.pemとして保存 必要なファイルのコピー 必要なファイルを適当なディレクトリ(ここではcerts)に集める. mkdir certs mv root.pem certs/ cp /etc/letsencrypt/live/game.magcruise.org/fullchain.pem certs/ cp /etc/letsencrypt/live/game.magcruise.org/privkey.pem certs/ c_rehashの実行 c_rehash certs openssl コマンドで pkcs12 形式に変換 cd certs openssl pkcs12 -export -in fullchain.pem -inkey privkey.pem -out tomcat.p12 -name tomcat # 適当なパスワードをつける keytool コマンドでキーストア形式に変換 keytool -importkeystore -srckeystore tomcat.p12 -destkeystore tomcat.keystore -srcstoretype PKCS12 # 適当なパスワードをつける. 出来上がったtomcat.keystoreは適当なところに保存 server.xmlの修正 ```xmltomcatを再起動したら,localhost:8443で接続出来た.
2016-08-24(Wed) [長年日記] 編集
[letsencrypt][SSL][https][cron][openSUSE][Apache] Letsencrypt
How to set up letsencrypt on OpenSUSE 13.2 (Tutorial) - Server - Let's Encrypt Community Supportの通りでほぼOKだった.
差分
エラー
Directory '/etc/apache2/sites-enabled' does not exist. Please ensure that the values for --apache-handle-sites and --apache-server-root are correct for your environment.
というエラーが出たときは,"ln -s /etc/apache2/vhost /etc/apache2/sites-enabled"で,解消した.
VirtualHost設定の重複を削除
重複部分を切り出して,includeすればOK
SSLEngine on SSLCertificateFile /etc/letsencrypt/live/.... SSLCertificateKeyFile /etc/letsencrypt/.... Include /etc/apache2/vhosts.d/nkjmlab.org.ini Include /etc/apache2/vhosts.d/nkjmlab.org.ini
コマンドログ
cd /root zypper in git git clone https://github.com/letsencrypt/letsencrypt emacs /etc/letsencrypt/conf/nkjmlab.org.ini rsa-key-size = 4096 email = myaddress@example.com authenticator = webroot webroot-path = /srv/www/vhosts/nkjmlab.org domain = nkjmlab.org cd /root/letsencrypt /root/letsencrypt/letsencrypt-auto certonly -c /etc/letsencrypt/conf/nkjmlab.org.ini cp -a /etc/apache2/vhosts.d/nkjmlab.org.conf /etc/apache2/vhosts.d/nkjmlab.org-ssl.conf emacs /etc/apache2/vhosts.d/nkjmlab.org-ssl.conf SSLEngine on SSLCertificateFile /etc/letsencrypt/live/nkjmlab.org/fullchain.pem SSLCertificateKeyFile /etc/letsencrypt/live/nkjmlab.org/privkey.pem yast -> sysconfig editor APACHE_MODULES="[...] ssl [...]" APACHE_SERVER_FLAGS="SSL" service apache2 restart # 全ドメインの証明書を更新するスクリプトををcronで回す. emacs /etc/cron.monthly/letsencrypt.sh /root/letsencrypt/letsencrypt-auto renew --force-renew /usr/sbin/service apache2 restart chmod +x /etc/cron.monthly/letsencrypt.sh