Ubuntu服务器+Apache 2部署SSL证书,并且设置HTTP强制跳转到HTTPS

1 环境准备

操作系统:Ubuntu
Web服务器:Apache 2

2 前提条件

已从SSL证书控制台下载Apache服务器证书。
已安装Open SSL。

sudo apt-get install openssl
sudo apt-get install libssl-dev

3 部署SSL证书

1.运行以下命令在apache2目录下创建ssl目录。
sudo mkdir /etc/apache2/ssl
2.运行以下命令将下载的腾讯云证书文件复制到ssl目录中。
sudo cp -r YourDomainName_public.crt /etc/apache2/ssl
sudo cp -r YourDomainName_chain.crt /etc/apache2/ssl
sudo cp -r YourDomainName.key /etc/apache2/ssl
3.运行以下命令启用SSL模块。
sudo a2enmod ssl

在这里插入图片描述

4.SSL模块启用后可执行
ls /etc/apache2/sites-available

查看目录下生成的default-ssl.conf文件。
(说明:443端口是网络浏览端口,主要用于HTTPS服务。SSL模块启用后会自动放行443端口。若443端口未自动放行,可执行vi /etc/apache2/ports.conf并添加Listen 443手动放行)

5.运行以下命令修改SSL配置文件default-ssl.conf。
sudo vi /etc/apache2/sites-available/default-ssl.conf
<IfModules mod_ssl.c>
<VirtualHost *:443>  
ServerName   #修改为证书绑定的域名www.YourDomainName.com。
SSLCertificateFile /etc/apache2/ssl/www.YourDomainName_public.crt   #将/etc/apache2/ssl/www.YourDomainName.com_public.crt替换为证书文件路径+证书文件名。
SSLCertificateKeyFile /etc/ssl/apache2/www.YourDomainName.com.key   #将/etc/apache2/ssl/www.YourDomainName.com.key替换为证书密钥文件路径+证书密钥文件名。
SSLCertificateChainFile /etc/apache2/ssl/www.YourDomainName.com_chain.crt  #将/etc/apache2/ssl/www.YourDomainName.com_chain.crt替换为证书链文件路径+证书链文件名。

在这里插入图片描述
在腾讯云提供的文件中,
File是2_sidney-tan.com.crt
KeyFile是3_sidney-tan.com.key
ChainFile是1_root_bundle.crt
在这里插入图片描述
/sites-available:该目录存放的是可用的虚拟主机;/sites-enabled:该目录存放的是已经启用的虚拟主机。
(说明:default-ssl.conf文件可能存放在/etc/apache2/sites-available或/etc/apache2/sites-enabled目录中。)

6.运行以下命令把default-ssl.conf映射至/etc/apache2/sites-enabled文件夹中建立软链接、实现二者之间的自动关联。
sudo ln -s /etc/apache2/sites-available/default-ssl.conf /etc/apache2/sites-enabled/001-ssl.conf
7.运行以下命令重新加载Apache 2配置文件。
sudo /etc/init.d/apache2 force-reload
8.运行以下命令重启Apache 2服务。
sudo /etc/init.d/apache2 restart
9.测试

Apache 2服务重启成功后,您可在浏览器中输入https://www.YourDomainName.com验证证书安装结果。浏览器地址栏显示绿色的小锁标识说明证书安装成功。

4 设置HTTP强制跳转到HTTPS

1.修改这个配置文件
sudo vim /etc/apache2/sites-available/000-default.conf

在<VirtualHost *:80>标签内随便一个地方加入以下三行

RewriteEngine on
RewriteCond  %{HTTPS} !=on
RewriteRule  ^(.*) https://%{SERVER_NAME}$1 [L,R]

强制跳转https配置完毕,wq保存退出。

2.使配置生效

启动 rewrite mod

sudo a2enmod rewrite
3.重启 apache2
sudo /etc/init.d/apache2 restart

配置结束。不出意外配置应该已经生效。

  • 1
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Sidney.Tan

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值