linux Apache+Tomcat安装配置HTTPS SSL证书+http强制跳转HTTPS

配过ssl证书的都知道证书默认使用的端口是443,所以一台服务器配两个证书需要注意端口问题,重点如果修改端口后不行就尝试重启一下服务器,自己在这被坑了好长时间。

正题:

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

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

本人是在腾讯云申请:
在腾讯云产品找到SSL证书管理,选择申请证书:
在这里插入图片描述
确定后填写域名信息:
在这里插入图片描述
有域名管理权限选择DNS验证,只有空间权限选择文件验证,这里以DNS验证为例:
在这里插入图片描述
等待几分钟审核通过后下载文件:
在这里插入图片描述
下载完成后解压找到Apache目录下的三个文件:
1_root_bundle.crt
2_zaax.top.crt
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]

加入位置 :


 ... 

在这里插入图片描述
设置完成后重启apachet
http访问就会自动跳转到https。
linux Apache+Tomcat安装配置HTTPS SSL证书+http强制跳转HTTPS_第1张图片

4.Tomcat服务器配置SSL证书

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

修改tomcat service.xml文件,找到这一段,去掉注释,修改证书路径和加入申请证书填写的密码,修改成功后保存重启tomcat。
linux Apache+Tomcat安装配置HTTPS SSL证书+http强制跳转HTTPS_第2张图片
注意:端口根据自身需求修改!
这里端口可能有疑问,举例,我的tomcat默认端口是8080,没有修改过:
如果是http访问:那么url不变:http://www.zaax.top:8080
如果是https访问:请求的url变为:https://www.zaax.top:8443

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

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

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

编辑 web.xml文件:

vim /usr/tomcat/apache-tomcat-8.5.24/conf/web.exml

在倒数第二行加入:


    
              SSL
              /*
       
       
       CONFIDENTIAL
       

在这里插入图片描述

重启tomcat。

访问:http://www.zaax.top:8080会自动跳转至https://www.zaax.top:8443,这样就兼容了老的接口,新开发的接口就可以用8443端口。大功告成!
linux Apache+Tomcat安装配置HTTPS SSL证书+http强制跳转HTTPS_第3张图片

你可能感兴趣的:(Linux)