Centos7 Apache2.4.6+Tomcat8.5安装配置HTTPS SSL证书+http强制跳转HTTPS

近期google把http连接全部标注为不安全算是加速推进了https的发展进度。也由于本人开发的一个小系统的前端页面总是无故被运营商插入广告,所以无法忍受干脆弄成https得了。
案例:
这里写图片描述
而且运营商也是恶心的很,白天基本上不怎么插入,等到半夜凌晨的时候基本上每次访问都插入广告了,家里用的是移动的宽带,在公司电信的网络访问照样会插入广告。
看网页源码,这就是运营商拦截网页在代码里面加了一条广告的js代码。我的原网站代码并没有这一条。这估计也就是http的最大的缺点了。
这里写图片描述

正题:
系统环境:Centos7
Apache版本:Apache2.4.6(yum安装)
Tomcat版本:8.5.30(注意: 8.5以下版本配置方法不一样,不适用此方法)

1.申请免费的HTTPS SSL域名证书

本人是在腾讯云申请:
在腾讯云产品找到SSL证书管理,选择申请证书:
这里写图片描述

确定后填写域名信息:
这里写图片描述

有域名管理权限选择DNS验证,只有空间权限选择文件验证,这里以DNS验证为例:
这里写图片描述

等待几分钟审核通过后下载文件:
这里写图片描述

下载完成后解压找到Apache目录下的三个文件:

  1. 1_root_bundle.crt
  2. 2_zaax.top.crt
  3. 3_zaax.top.key

    在Centos7的Apache安装目录下新建ssl目录:

cd /etc/httpd/ssl

在将这三个文件上传至ssl目录。


2.Apache服务器安装SSL域名证书

安装ssl模块

yum install mod_ssl

修改ssl.conf文件

vim /etc/httpd/conf.d/ssl.conf

修改域名指定的目录:
如果httpd.conf文件中没有指定域名目录,默认则是/var/www/html目录,因为我指定了域名目录,所以DocumentRoot值需要修改。:
这里写图片描述

修改ssl证书路径:
这里写图片描述

修改完成后,重启apache,就可以用Https访问了。

systemctl restart httpd.service

这里写图片描述

还有最后一个问题,就是如果是用http://访问并不会自动跳转到https访问。

3.Apache HTTP访问强制跳转HTTPS访问

在httpd.conf文件中加入:

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

加入位置 :

<Directory>
 ... 
<directory>

这里写图片描述

设置完成后重启apachet
http访问就会自动跳转到https,渣渣运营商休想加广告。
这里写图片描述

4.Tomcat服务器配置SSL证书

在下载的ssl文件中找到Tomcat目录,将zaax.top.jks文件上传到服务器的Tomcat目录下的/conf/位置。

修改tomcat service.xml文件,找到这一段,去掉注释,修改证书路径和加入申请证书填写的密码,修改成功后保存重启tomcat。
这里写图片描述

注意:端口根据自身需求修改!
这里端口可能有疑问,举例,我的tomcat默认端口是8080,没有修改过:
如果是http访问:那么url不变:http://www.zaax.top:8080
如果是https访问:请求的url变为:https://www.zaax.top:8443

但是如果修改了https端口,需要修改三个地方,并保持一致:
这里写图片描述

8080http端口
8443https端口
8009是tomcat集群端口

5.Tomcat Http请求强制跳转HTTPS请求

编辑 web.xml文件:
vim /usr/tomcat/apache-tomcat-8.5.24/conf/web.exml

在倒数第二行加入:

<security-constraint>
    <web-resource-collection >
              <web-resource-name >SSL</web-resource-name>
              <url-pattern>/*</url-pattern>
       </web-resource-collection>
       <user-data-constraint>
       <transport-guarantee>CONFIDENTIAL</transport-guarantee>
       </user-data-constraint>
</security-constraint>

这里写图片描述

重启tomcat。
这里写图片描述
访问:http://www.zaax.top:8080会自动跳转至https://www.zaax.top:8443,这样就兼容了老的接口,新开发的接口就可以用8443端口。大功告成!

©️2020 CSDN 皮肤主题: 大白 设计师:CSDN官方博客 返回首页