Apache の SSL 接続 (https) の有効化
カテゴリ:Webサーバ
Ubuntu 対応
SSL 接続の有効化
以下のコマンドを実行します。
# a2enmod ssl # a2ensite default-ssl # systemctl restart apache2
注意但し、VirtualHost で構成しているサイトは https 化されません。default-ssl.conf の有効化ではなく、VirtualHost 側で手動で https 化の設定を行ってください。
初期設定では Apache が持っている自己署名証明書が設定されています。
# cat /etc/apache2/sites-enabled/default-ssl.conf | grep SSLCertificateFile
# SSLCertificateFile directive is needed.
SSLCertificateFile /etc/ssl/certs/ssl-cert-snakeoil.pem
# the referenced file can be the same as SSLCertificateFile
# cat /etc/apache2/sites-enabled/default-ssl.conf | grep SSLCertificateKeyFile
SSLCertificateKeyFile /etc/ssl/private/ssl-cert-snakeoil.key
# cat /etc/apache2/sites-enabled/default-ssl.conf | grep SSLCACertificateFile
#SSLCACertificateFile /etc/apache2/ssl.crt/ca-bundle.crt
Apache の再起動
# systemctl restart apache2
HTTPS へのリダイレクト
http プロトコルへのアクセスを https プロトコルにリダイレクトする場合は、/etc/apache2/apache2.conf に以下を追記します。
<ifModule mod_rewrite.c>
# Redirect HTTP to HTTPS
RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [R=301,NE,L]
</ifModule>
Apache の再起動
# systemctl restart apache2
認証局での署名済み SSL 証明書の指定
/etc/apache2/sites-enabled/default-ssl.conf の SSLCertificateFile にサーバー証明書(公開鍵含む)、SSLCertificateKeyFile に秘密鍵、SSLCACertificateFile にCA証明書のパスを指定します。
SSLCertificateFile /etc/letsencrypt/live/example.com/cert.pem
SSLCertificateKeyFile /etc/letsencrypt/live/example.com/privkey.pem
SSLCACertificateFile /etc/letsencrypt/live/example.com/chain.pem
参考上記パスは Let's Encrypt の場合です。
公開日時:2024年03月24日 19:43:04
最終更新日時:2024年03月25日 00:28:45