Apache 配置Https 转发Tomcat ,tomcat中的项目也可以使用https

1.从Apache服务器和Nginx服务器差不多,都可以做反向代理服务器

2.首先需要拆解下步骤:

2.1 Apache 支持Https;

2.2 Apache 代理转发;

2.3 Apache https 代理转发Tomcat ;

3. 具体的步骤

步骤一:下载SSL证书

  1. 登录阿里云数字证书管理服务控制台

  2. 在左侧导航栏,单击SSL 证书。

  3. 在SSL 证书页面,定位到目标证书,在操作列,单击下载。

  4. 在服务器类型为Apache的操作列,单击下载。
    在这里插入图片描述

5.解压缩已下载的SSL证书压缩包。根据您在提交证书申请时选择的CSR生成方式,解压缩获得的文件不同,具体如下表所示。
在这里插入图片描述
在这里插入图片描述

步骤二:在Apache服务器安装证书

1. 执行以下命令,在Apache的安装目录下创建一个用于存放证书的cert目录。

a.进入Apache的安装目录。

cd /etc/httpd/ 
#使用yum安装Apache的默认安装目录。如果您手动修改过该目录或使用其他方式安装的Apache,请根据实际配置调整。

b.创建cert目录。

mkdir cert #创建证书目录,命名为cert。

2.将证书文件和私钥文件上传到Apache服务器的证书目录(/etc/httpd/cert)。

3.编辑Apache配置文件httpd.conf和ssl.conf,修改与证书相关的配置。

a. 找到LoadModule ssl_module modules/mod_ssl.so(用于加载mod_ssl.so模块启用SSL服务) 和Include conf.modules.d/*.conf(用于加载SSL配置目录),并检查是否被注释,如果被注释,请删除#注释。

LoadModule ssl_module modules/mod_ssl.so:位于本文中**ssl.conf**该配置文件下。

Include conf.d/*.conf : 位于本文中**httpd.conf**该配置文件下。


b.未找到 文件,则可执行yum install -y mod_ssl命令安装,httpd -M | grep ‘ssl’ 命令检查mod_ssl.so是否安装成功

如果仍未找到以上参数,请确认您的Apache服务器中是否已经安装mod_ssl.so模块。如未安装,可执行yum install -y mod_ssl命令安装,安装后,可执行httpd -M | grep 'ssl'命令检查mod_ssl.so是否安装成功。

c.执行以下命令,打开ssl.conf配置文件。

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

d.在ssl.conf配置文件中,定位到以下参数,按照中文注释修改


<VirtualHost *:443> 
#修改为申请证书时绑定的域名。 
 ServerName  www.pwx.com
 
# 古籍检索系统 ,重定向到tomcat 中古籍检索系统项目
ProxyPass /record http://127.0.0.1:8080/record
ProxyPassReverse /record http://127.0.0.1:8080/record

#虚拟仿真,重定向到tomcat 中虚拟仿真项目
ProxyPass /wave http://127.0.0.1:8080/wave
ProxyPassReverse /wave http://127.0.0.1:8080/wave

# 公众号,重定向到tomcat 中 公众号项目
ProxyPass /pwxaccount http://127.0.0.1:8080/pwxaccount
ProxyPassReverse /pwxaccount http://127.0.0.1:8080/pwxaccount

     
 # 将domain_name_public.crt替换成您证书文件名。
 SSLCertificateFile cert/domain_name_public.crt 
  # 将domain_name.key替换成您证书的密钥文件名。
 SSLCertificateKeyFile cert/domain_name.key
 # 将domain_name_chain.crt替换成您证书的证书链文件名。
 SSLCertificateChainFile cert/domain_name_chain.crt 
 
 #自定义设置使用的TLS协议的类型以及加密套件(以下为配置示例,请您自行评估是否需要配置)
 #TLS协议版本越高,HTTPS通信的安全性越高,但是相较于低版本TLS协议,高版本TLS协议对浏览器的兼容性较差。
 SSLEngine on
 # 添加SSL协议支持协议,去掉不安全的协议。
 SSLProtocol all -SSLv2
 # 修改加密套件。
 SSLCipherSuite DEFAULT:!EXP:!SSLv2:!DES:!IDEA:!SEED:+3DES

</VirtualHost>






#如果证书包含多个域名,复制VirtualHost参数,并将ServerName修改为第二个域名。 
<VirtualHost *:443> 
 ServerName #修改为申请证书时绑定的第二个域名。 
 SSLCertificateFile cert/domain_name2_public.crt # 将domain_name2替换成您申请证书时的第二个域名。
 SSLCertificateKeyFile cert/domain_name2.key # 将domain_name2替换成您申请证书时的第二个域名。
 SSLCertificateChainFile cert/domain_name2_chain.crt # 将domain_name2替换成您申请证书时的第二个域名。
 
 SSLEngine on 
 SSLHonorCipherOrder on
 #自定义设置使用的TLS协议的类型以及加密套件(以下为配置示例,请您自行评估是否需要配置)
 #TLS协议版本越高,HTTPS通信的安全性越高,但是相较于低版本TLS协议,高版本TLS协议对浏览器的兼容性较差。
 #SSLProtocol all -SSLv2 -SSLv3 # 添加SSL协议支持协议,去掉不安全的协议。
 #SSLCipherSuite HIGH:!RC4:!MD5:!aNULL:!eNULL:!NULL:!DH:!EDH:!EXP:+MEDIUM # 修改加密套件。
</VirtualHost>


步骤三:. 配置Tomcat 得server.xml 文件

(1) 配置Tomcat server.xml 文件,添加proxyPort和scheme如下图:

<Connector port="8080" protocol="HTTP/1.1"
               connectionTimeout="20000"
               redirectPort="8443"
               proxyPort="443"
               scheme="https"
                />

或者

<Connector port="8080" protocol="HTTP/1.1"
               connectionTimeout="20000"
                /> 

步骤四:重启启动Tomcat和Apache

a. 控制Apache 的操作命令

# 启动Apache命令
service httpd start 
# 重新 启动Apache命令
service httpd restart 
# 停止Apache命令
service httpd stop
# 启动Apache命令
service httpd status

b. 控制Tomcat的操作命令

# 启动Tomcat命令
sh  startup.sh

# 停止Tomcat命令
sh  shutdown.sh


c.控制Nginx的操作命令

# 开启nginx
./nginx
# 重启nginx
./nginx -s reload
# 查询nginx主进程号
ps -ef|grep nginx
# 杀死进程
kill -TERM 进程号
# 停止nginx
nginx -s stop

d.重启mysql操作命令

# 使用service 命令重启
service mysql restart
  • 9
    点赞
  • 19
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
对于Apache、Nginx和Tomcat这三种服务的配置使用,以下是一些基本的概述: 1. Apache HTTP服务器(常称为Apache)是一个免费开源的Web服务器软件,可以在多种操作系统上运行。它可以通过配置文件进行灵活的配置。常见的配置文件是httpd.conf。一些基本的配置包括监听端口、虚拟主机、目录别名等。Apache还支持模块化的架构,可以通过加载和配置不同的模块来扩展其功能,比如SSL模块、Rewrite模块等。 2. Nginx是一个高性能的HTTP和反向代理服务器,也可以用作负载均衡器和缓存服务器。与Apache不同,Nginx采用事件驱动和异步非阻塞的工作方式,可以处理大量并发连接。Nginx的配置文件是nginx.conf。一些常见的配置包括监听端口、服务器块、代理设置等。Nginx还支持许多高级功能,如SSL/TLS终止、URL重写、反向代理等。 3. Tomcat是一个Java Servlet容器,用于运行Java Web应用程序。它可以作为独立的Web服务器或与其他Web服务器(如Apache)集成。Tomcat配置文件是server.xml。一些常见的配置包括端口号、虚拟主机、连接器设置等。Tomcat还支持通过web.xml文件配置Servlet和过滤器,以及通过context.xml文件配置上下文参数。 以上是对Apache、Nginx和Tomcat服务的简要介绍和配置概述。具体的使用和更高级的配置取决于你的需求和具体的场景。你可以根据自己的需要进一步了解和深入学习这些服务的配置使用
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

曦月合一

你的鼓励是我们前进的最大动力

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

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

打赏作者

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

抵扣说明:

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

余额充值