本帖最后由 da11 于 2020-12-28 18:22 编辑
Apache原有基础上部署https
1.获取证书(已有证书可忽略)
2.下载证书(已有证书可忽略)
根据各CA颁发机构链接下载相应中间件的证书。
3.在服务器上部署证书
#以下Apache默认配置文件路径为:/etc/httpd/ 网站根目录路径为:/var/www/html/
3.1 使用yum安装https支持模块(使用rpm -qa | grep mod_ssl 确认是否安装)
yum -y install mod_ssl.x86_64
3.2 创建证书存放路径(如有可跳过)
mkdir /etc/httpd/ssl/
3.3 将证书复制至此路径
cp .../* /etc/httpd/ssl/
注意,以下为证书文件各个文件的说明
已在 SSL 证书管理控制台 中下载并解压缩 cloud.tencent.com 证书文件包到本地目录。
解压缩后,可获得相关类型的证书文件。 其中包含 Apache 文件夹和 CSR 文件:
文件夹名称:Apache
文件夹内容:
1_root_bundle.crt 证书文件
2_cloud.tencent.com.crt 证书文件
3_cloud.tencent.com.key 私钥文件
CSR 文件内容: cloud.tencent.com.csr 文件
说明:CSR 文件是申请证书时由您上传或系统在线生成的,提供给 CA 机构。安装时可忽略该文件。
3.4 查看httpd.conf配置文件
vim /etc/httpd/conf/httpd.conf
找到 Include conf.modules.d/*.conf(用于加载配置 SSL 的配置目录)配置语句,并确认该配置语句未被注释。
若已注释,请去掉首行的注释符号(#),保存配置文件。
3.5 查看/etc/httpd/conf.modules.d 目录下的 00-ssl.conf 配置文件
vim /etc/httpd/conf.modules.d/00-ssl.conf
找到 LoadModule ssl_module modules/mod_ssl.so(用于加载 SSL 模块)配置语句,并确认该配置语句未被注释。
若已注释,请去掉首行的注释符号(#),保存配置文件。
注意,没有此文件请查看3.1是否安装ssl支持模块。
3.6 编辑/etc/httpd/conf.d 目录下的ssl.conf 配置文件
vim /etc/httpd/conf.d/ssl.conf
修改以下内容:
<VirtualHost 0.0.0.0:443> #网页根目录
DocumentRoot "/var/www/html"
#填写证书名称
ServerName cloud.tencent.com #域名
#启用 SSL 功能
SSLEngine on
#证书文件的路径
SSLCertificateFile /etc/httpd/ssl/2_cloud.tencent.com.crt
#私钥文件的路径
SSLCertificateKeyFile /etc/httpd/ssl/3_cloud.tencent.com.key
#证书链文件的路径
SSLCertificateChainFile /etc/httpd/ssl/1_root_bundle.crt
</VirtualHost>
3.7 重启Apache服务
systemctl restart httpd
3.8 使用https访问验证
https://域名 即可使用https访问
4.禁用80端口,转发https 443端口 4.1 查看httpd.conf配置文件 vim /etc/httpd/conf/httpd.conf 在<Directory "/var/www/html"> 段中,添加以下转发配置 RewriteEngine on RewriteCond %{SERVER_PORT} !^443$ RewriteRule ^(.*)?$ https://%{SERVER_NAME}%{REQUEST_URI} [L,R]
4.2 验证 http://域名 访问的时候也会自动跳转成https访问。
|