tomcat反代可以基于nginx , http进行反代

反代服务器: 有两个网口  反代服务器一般有两块网卡一块处于外网,一块处于内网用于与后端服务器通信

tomcat 节点处于内网地址

1 tomcat安装

  1 安装jdk等软件包

yum  install  java-1.8.0-openjdk-devel   tomcat  tomcat-webapps  tomcat-admin-webapps  tomcat-docs-webapp    -y

2 启动服务:systemctl   start  tomcat.service

tomcat安装完成

nginx反代服务器:

1 安装nginx

yum  install  nginx   -y

2 配置配置文件 ,在conf.d下配置个虚拟机,通过虚拟机进行反代

vim   ilinux.conf

server  {

listen  80;

server  name  www.ilinux.io;

location  /  {

proxy_pass   http://192.168.10.11:8080;

}

}

nginx  -t    检查语法

启动nginx服务:

systemctl   start  nginx.service

访问:www.ilinux.io     访问之前在/etc/hosts 下做域名解析

如这里给tomcat一个test测试页

mkdir   -pv  /var/lib/tomcat/webapps/test/{WEB-INF,META-INF,classes,lib}

创建主页面

: vim /var/lib/tomcat/webapps/test/index.jsp

<%@ page language="java" %>

<html>

<head><title>TomcatA</title></head>

<body>

<h1><font color="red">TomcatA.magedu.com</font></h1>

<table align="centre" border="1">

<tr>

<td>Session ID</td>

<% session.setAttribute("magedu.com","magedu.com"); %>

<td><%= session.getId() %></td>

</tr>

<tr>

<td>Created on</td>

<td><%= session.getCreationTime() %></td>

</tr>

</table>

</body>

</html>

访问:www.ilinux.io/test

若有两个tomcat也可以实现动静分离

location    /   {

proxy_pass  http://192.168.1.15:80;

}

location  ~* \.{jsp|do}$   {

proxy_pass http://192.168.10.11:8080;

}

使用http实现反代

yum install   httpd    -y

http做反代有两种模式

一种是httpd协议  一种jsp协议

# httpd   -M   查看模块的

其中:

proxy _module  {shared}    是主模块起反代功能的必须启用

proxy_http_module {shared}   基于httpd协议进行反代的

proxy_ajp_module (shared)   基于ajp协议进行反代的

配置文件设置

vim   conf.d/ilinux-tomcat.conf

<VirutalHost  *:80>

ServerName    www.ilinux.io

DocumentRoot  “/data/ilinux/htdocs”

ProxyRequests Off                        禁止正向代理

ProxyPreserveHost On                 是否把响应报文的host首部一并转到后端

ProxyVia    on

<Proxy *>                  定那些用户访问权限的

Require all granted

</Proxy>

ProxyPass / http://tc1.magedu.com:8080/                把根 反代到那

ProxyPassReverse / http://tc1.magedu.com:8080/           若后端有重定向

<Location />                  定义基于根的访问权限

Require all granted

</Location>

</VirutalHost>

httpd  -t  测试语法

启动服务

访问: wwwilinux.io/

2 基于proxy_ajp_module模块代理配置示例:

<VirtualHost *:80>

  ServerName      tc1.magedu.com

   ProxyRequests Off

   ProxyVia        On

   roxyPreserveHost On

   <Proxy *>

   Require all granted

   </Proxy>

   ProxyPass / ajp://tc1.magedu.com:8009/

   ProxyPassReverse / ajp://tc1.magedu.com:8009/

   <Location />

    Require all granted

   </Location>

</VirtualHost>

05-04 05:39