当前位置:   article > 正文

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

tomcat 代理转发

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,请根据实际配置调整。
  • 1
  • 2

b.创建cert目录。

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

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**该配置文件下。


  • 1
  • 2
  • 3
  • 4
  • 5

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是否安装成功。
  • 1

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

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

  • 1
  • 2

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>


  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
  • 35
  • 36
  • 37
  • 38
  • 39
  • 40
  • 41
  • 42
  • 43
  • 44
  • 45
  • 46
  • 47
  • 48
  • 49
  • 50
  • 51
  • 52
  • 53
  • 54
  • 55
  • 56

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

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

<Connector port="8080" protocol="HTTP/1.1"
               connectionTimeout="20000"
               redirectPort="8443"
               proxyPort="443"
               scheme="https"
                />
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6

或者

<Connector port="8080" protocol="HTTP/1.1"
               connectionTimeout="20000"
                /> 
  • 1
  • 2
  • 3

步骤四:重启启动Tomcat和Apache

a. 控制Apache 的操作命令

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

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9

b. 控制Tomcat的操作命令

# 启动Tomcat命令
sh  startup.sh

# 停止Tomcat命令
sh  shutdown.sh


  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7

c.控制Nginx的操作命令

# 开启nginx
./nginx
# 重启nginx
./nginx -s reload
# 查询nginx主进程号
ps -ef|grep nginx
# 杀死进程
kill -TERM 进程号
# 停止nginx
nginx -s stop
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10

d.重启mysql操作命令

# 使用service 命令重启
service mysql restart
  • 1
  • 2
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/人工智能uu/article/detail/824031
推荐阅读
相关标签
  

闽ICP备14008679号