本篇文章重点在于 CentOS 如何配置 Apache 启用 HTTPS,不介绍如何去申请 Let’s Encrypt 免费 SSL,如有需要请参考文章Let's Encrypt 免费 SSL 证书建立 HTTPS

环境介绍

系统: : CentOS 7 x64

Apache: : yum 方式安装的 Apache : 版本: Apache/2.4.6 (CentOS) : 默认路径:/etc/httpd/conf/httpd.conf (在centos 中apache配置文件的路径是/etc/httpd/conf/httpd.conf,在ubuntu中apache配置文件的路径是/etc/apache2/apache2.conf)


安装SSL模块

yum 方式安装的 Apache 默认没有装载 SSL 模块,即没有 /etc/httpd/conf.d/ssl.conf 配置文件,也没有 /usr/lib64/httpd/modules/mod_ssl.so 模块文件,如果有请忽略该步骤

yum -y install mod_ssl

配置HTTPS

编辑 /etc/httpd/conf/httpd.conf,新增如下代码,将 http 协议的请求自动跳转到 https 协议

RewriteEngine on
RewriteCond %{SERVER_PORT} 80
RewriteRule ^(.*)$ https://%{SERVER_NAME}%{REQUEST_URI} [R=301,L]

采用的是默认的 httpd 配置,只在 httpd.conf 末尾新增代码,效果如下

# Supplemental configuration
#
# Load config files in the "/etc/httpd/conf.d" directory, if any.
IncludeOptional conf.d/*.conf

RewriteEngine on
RewriteCond %{SERVER_PORT} 80
RewriteRule ^(.*)$ https://%{SERVER_NAME}%{REQUEST_URI} [R=301,L]

接着,修改 ssl.conf 文件,在此配置文件中找到类似于如下两行配置

SSLCertificateFile /etc/pki/tls/certs/localhost.crt
SSLCertificateKeyFile /etc/pki/tls/private/localhost.key

上述两行配置就是证书的存放位置,我们只需要把第三方第三方可信CA签发的证书相应的文件进行替换,然后重启 httpd 服务即可

# 修改证书位置
SSLCertificateFile /etc/letsencrypt/live/www.example.com/fullchain.pem
SSLCertificateKeyFile /etc/letsencrypt/live/www.example.com/privkey.pem

重启 httpd
systemctl  restart  httpd

results matching ""

    No results matching ""