Apache httpd : SSL/TLS の設定2021/03/15 |
SSL/TLS の設定を有効化して、HTTPS による暗号化通信ができるように設定します。
|
|
[1] |
SSL 証明書を取得しておきます。
当例では Let's enctypt で取得した証明書を使用します。 |
[2] | SSL/TLS の設定を有効化します。 |
[root@www ~]#
dnf -y install mod_ssl
[root@www ~]#
vi /etc/httpd/conf.d/ssl.conf # 43行目:コメント解除 DocumentRoot "/var/www/html" # 44行目:コメント解除しサーバー名指定 ServerName www.srv.world:443
# 85行目:取得した証明書を指定 SSLCertificateFile /etc/letsencrypt/live/www.srv.world/cert.pem
# 93行目:取得した鍵ファイルを指定 SSLCertificateKeyFile /etc/letsencrypt/live/www.srv.world/privkey.pem
# 102行目:取得した中間証明書を指定 SSLCertificateChainFile /etc/letsencrypt/live/www.srv.world/chain.pem
systemctl restart httpd |
[3] | HTTP 通信を HTTPS へリダイレクトして Always on SSL/TLS とする場合は、それぞれのサイト設定に RewriteRule を記述します。 例えば、こちらの例のように設定したバーチャルホスト設定では、以下のように記述します。 [httpd.conf] (include 含む) に設定しない場合は、各ドキュメントルートの直下に [.htaccess] を配置して設定します。 |
[root@www ~]#
vi /etc/httpd/conf.d/vhost.conf
<VirtualHost *:80>
DocumentRoot /var/www/html
ServerName www.srv.world
RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]
</VirtualHost>
[root@www ~]# systemctl restart httpd |
[4] | Firewalld を有効にしている場合は、HTTPS サービスの許可が必要です。HTTPS は [443/TCP] を使用します。 |
[root@www ~]# firewall-cmd --add-service=https --permanent success [root@www ~]# firewall-cmd --reload success |
[5] | クライアント PC から Web ブラウザでテストページに HTTPS でアクセスして、正常にページが表示されれば OK です。 |
Sponsored Link |
|