Apache httpd : SSL/TLS の設定2025/11/13 |
|
SSL/TLS の設定を有効化して、HTTPS による暗号化通信ができるように設定します。 |
|
| [1] |
SSL 証明書を取得しておきます。 |
| [2] | SSL/TLS の設定を有効化します。 |
|
www:~ #
vi /etc/apache2/listen.conf # 17行目 : コメント解除 Listen 443
<VirtualHost *:443>
DocumentRoot "/srv/www/htdocs"
ServerName www.srv.world
SSLEngine on
SSLCertificateFile /etc/letsencrypt/live/www.srv.world/cert.pem
SSLCertificateKeyFile /etc/letsencrypt/live/www.srv.world/privkey.pem
SSLCertificateChainFile /etc/letsencrypt/live/www.srv.world/chain.pem
ErrorLog /var/log/apache2/error_log
TransferLog /var/log/apache2/access_log
CustomLog /var/log/apache2/ssl_request_log ssl_combined
</VirtualHost>
systemctl restart apache2
|
| [3] | HTTP 通信を HTTPS へリダイレクトして Always on SSL/TLS とする場合は、それぞれのサイト設定に RewriteRule を記述します。 例えば、こちらの例のように設定したバーチャルホスト設定では、以下のように記述します。 [httpd.conf] (include 含む) に設定しない場合は、各ドキュメントルートの直下に [.htaccess] を配置して設定します。 |
|
www:~ #
vi /etc/apache2/vhosts.d/vhost.conf LoadModule rewrite_module /usr/lib64/apache2/mod_rewrite.so <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>www:~ # systemctl reload apache2
|
| [4] | Firewalld を有効にしている場合は、HTTPS サービスの許可が必要です。HTTPS は [443/TCP] を使用します。 |
|
www:~ # firewall-cmd --add-service=https success www:~ # firewall-cmd --runtime-to-permanent success |
| [5] | 任意のクライアントコンピューターから Web ブラウザーでテストページに HTTPS でアクセスして、正常にページが表示されれば OK です。 |
|
| Sponsored Link |
|
|