`

自定义端口,将端口80的TCP传递给8081

阅读更多
修改server.xml中Shutdown port,Connector port,ajp port和Redirect port的端口

从8080端口改变端口
<Connector port="8080" protocol="HTTP/1.1" 
               connectionTimeout="20000" 
               redirectPort="8443" />
               
               
将端口80的TCP连接传递给端口8080
在Linux下检查iptables特性是否处于enabled状态
[root@wls-132 bin]# iptables -t nat -L
Chain PREROUTING (policy ACCEPT)
target     prot opt source               destination         

Chain POSTROUTING (policy ACCEPT)
target     prot opt source               destination         

Chain OUTPUT (policy ACCEPT)
target     prot opt source               destination         
[root@wls-132 bin]# 
如果看到相似的输出,一般就是可用状态。

通过下列两条命令,你可以让80端口的所有TCP连接按机器配置寻址到所有网络目的地址
[root@wls-132 bin]# iptables -t nat -I PREROUTING -p tcp --dport 80 -j REDIRECT --to-ports 8080
[root@wls-132 bin]# iptables -t nat -I OUTPUT -p tcp --dport 80 -j REDIRECT --to-ports 8080
[root@wls-132 bin]# 

(实验时访问不到应用)如果只想把机器配置的一个IP地址的连接传递给8080端口,那么可以再追加目的地址ip是选择性的使用--dst切换开关,如下所示:
[root@wls-132 bin]# iptables -t nat -I PREROUTING -p tcp --dst 192.168.1.106 --dport 80 -j REDIRECT --to-ports 8081
[root@wls-132 bin]# iptables -t nat -I OUTPUT -p tcp --dst 192.168.1.106 --dport 80 -j REDIRECT --to-ports 8081
[root@wls-132 bin]# 

查看过滤规则
[root@wls-132 bin]# iptables -t nat -L
Chain PREROUTING (policy ACCEPT)
target     prot opt source               destination         
REDIRECT   tcp  --  anywhere             192.168.1.106       tcp dpt:http redir ports 8081 
REDIRECT   tcp  --  anywhere             anywhere            tcp dpt:http redir ports 8081 
REDIRECT   tcp  --  anywhere             anywhere            tcp dpt:http redir ports 8080 

Chain POSTROUTING (policy ACCEPT)
target     prot opt source               destination         

Chain OUTPUT (policy ACCEPT)
target     prot opt source               destination         
REDIRECT   tcp  --  anywhere             192.168.1.106       tcp dpt:http redir ports 8081 
REDIRECT   tcp  --  anywhere             anywhere            tcp dpt:http redir ports 8081 
REDIRECT   tcp  --  anywhere             anywhere            tcp dpt:http redir ports 8080 

删除过滤规则
[root@wls-132 bin]# iptables -t nat -D PREROUTING -p tcp --dport 80 -j REDIRECT --to-ports 8080
[root@wls-132 bin]# iptables -t nat -D PREROUTING -p tcp --dport 80 -j REDIRECT --to-ports 8081
[root@wls-132 bin]# iptables -t nat -D OUTPUT -p tcp --dport 80 -j REDIRECT --to-ports 8080
[root@wls-132 bin]# iptables -t nat -D OUTPUT -p tcp --dport 80 -j REDIRECT --to-ports 8081

重定向方法的缺点在于:为了显示真实的端口,Tomcat要重写URL。
假定访问的www.example.com。如果一个用户在其浏览器地址位置输入
http://www.example.com/,那么依Web应用程序的内容而定,Tomcat会对重写该地址,
且该用户会在自己的浏览器位置看到http://www.example.com:8080/index.html的地址。

Tomcat会认定请求来源与8080端口,因为他在8081端口上打开了web服务连接器,因此无论何时发送重定向,
它都会追加上端口号8080,除非按如下方式在server.xml连接器配置文件中增加了proxyPort="80"的信息:
    <Connector port="8081" protocol="HTTP/1.1" proxyPort="80"
               connectionTimeout="20000"
               redirectPort="8444" />
               
如果Tomcat充当了主页功能,可以设置proxyName="www.example.com"。

iptables参考:http://caisangzi.blog.51cto.com/6387416/1286432;
http://hi.baidu.com/maimixiande/item/7a54d4c2caac0b25ee4665c0

 

分享到:
评论

相关推荐

    发送字符到指定的IP和端口

    SENDIP是一个强大的网络数据包构造工具,它可以用来模拟网络协议,如TCP、UDP等,向目标IP发送自定义的数据包。在标题中提到的场景下,SENDIP可能被用作调试服务器程序的一种辅助手段,帮助开发者测试服务器是否能...

    TCP_read_and_write.rar_LabVIEW 服务器_TCP read_tcp_服务器_端口

    0到1023的端口通常保留给系统服务,因此在创建自定义TCP服务器时,应选择1024以上的端口。每个TCP连接都由一个特定的四元组标识:源IP、源端口、目标IP和目标端口,这意味着同一台机器上的多个TCP连接可以使用相同的...

    51端口的结构及工作原理 20181127

    总结来说,51端口是一个未被标准服务占用的自定义端口,其结构和工作原理依赖于使用它的具体应用。了解端口的工作原理对于网络管理和安全至关重要,尤其是在进行网络诊断和防护策略制定时。如果你在使用51端口或遇到...

    常用端口说明(PDF)

    然而,由于大多数操作系统支持多进程并发执行,如何确定将数据包传递给哪个进程成为了一个问题。为了解决这一问题,引入了端口机制。 - **端口分配**:本地操作系统会为有通信需求的应用程序分配协议端口(即通常所...

    java socket通信自定义消息协议

    自定义消息协议是在标准TCP/IP协议之上,根据具体需求设计的一种数据传输格式。本篇将详细讲解如何在Java中实现基于Socket的自定义消息协议,以及客户端与服务器端的数据转换与解析过程。 首先,我们来看`Socket...

    tcp自动回复工具 调试 smarttcp tcp reply

    TCP(Transmission Control ...总之,SmartTCP作为一个强大的TCP调试工具,通过提供自定义自动回复功能,简化了网络通信的测试和调试过程,对于IT专业人士来说,是优化TCP应用性能、诊断网络问题的有效辅助工具。

    防ping端口检测工具.zip

    在“防ping端口检测工具”中,用户可能能够设置自定义的端口范围进行扫描,或者选择特定的端口进行测试。工具可能还会显示每个端口的状态、服务名、协议类型以及响应时间。此外,它可能具有报警功能,当发现异常活动...

    NSIS 检测端口是否被占用

    2. 调用DLL函数:接下来,通过`DLLCall`指令调用DLL中的端口检测函数,传递要检测的端口号作为参数。 3. 处理返回结果:根据DLL函数的返回值,判断端口是否被占用。如果是,可以向用户显示警告或采取其他适当操作。...

    基于Java的端口扫描器

    在这个项目中,开发者可能创建了一个Thread子类,重写了`run()`方法,或者创建了一个实现了Runnable接口的类,并将其实例传递给Thread对象的构造函数。多线程的使用使得扫描任务并行执行,提高了程序性能。 XML配置...

    TCP_HELPER.zip_C# TCP助手_C#网络助手_tcp调试_助手_网络调试助手

    5. **自定义数据生成**:针对“当初写这个目的主要是为了给上层传递随机数据”的描述,TCP助手允许用户生成随机数据包,这对于测试数据处理的健壮性和边界条件非常有用。 6. **连接管理**:TCP助手能够管理多个TCP...

    tcp 监听程序

    这个程序允许用户查看TCP/IP协议层的详细信息,包括报头信息,并且能够自定义监听的服务器和端口,以便于网络调试、性能分析或安全检查。 首先,让我们深入了解TCP(传输控制协议)和IP(互联网协议)。TCP是面向...

    nginx 代理80端口转443端口的实现

    在本文中,我们将深入探讨如何使用Nginx配置代理,以将80端口的HTTP请求转换为443端口的HTTPS请求。这通常是为了实现网站的安全加密,确保数据传输过程中不被拦截或篡改。 首先,让我们看下Nginx的配置文件`nginx....

    基于C#的tcp图像传输

    这可以通过在UI界面上添加文本框让用户输入IP,并在代码中解析这个IP地址,然后传递给服务器或客户端的TCP连接逻辑。 标签"C#TCP图像"进一步强调了本项目的核心技术点:使用C#语言和TCP协议处理图像数据。在实际...

    TCP&amp;UDP; Debuger

    例如,HTTP使用80端口,HTTPS使用443端口,而自定义服务可能使用其他未分配的端口。 使用此工具,你可以进行以下操作: 1. 建立TCP连接:测试应用程序能否正确地建立和断开连接,以及在连接过程中是否存在问题。 2...

    TCP和UDP socket调试工具V2.2

    本文将针对“TCP和UDP Socket调试工具V2.2”这一工具进行详细介绍,帮助开发者更好地理解和调试基于这两种协议的网络通信。 TCP是一种面向连接的、可靠的传输协议,它确保数据在传输过程中的完整性和顺序。TCP通过...

    TCP_Link.rar_TCP通信_tcp_tcp link

    本篇将深入探讨利用C#编程语言实现TCP通信的过程,以及"TCP_Link.rar"压缩包中的内容。 首先,让我们理解TCP链接的基本概念。TCP链接是两端点之间建立的双向通信信道,这两个端点可以是服务器或客户端。在TCP通信中...

    利用TCPCopy引流做模拟在线测试调研报告

    - **测试服务器处理**:测试服务器上,通过`iptables`规则,将特定端口(如80端口)的TCP流量导向QUEUE目标,由ip_queue模块处理。netlink socket用于内核与用户空间的交互,interception进程接收来自内核的返回...

    TCP关机程序,后台运行

    TCP关机程序的工作原理是通过发送特定的命令到目标计算机的某个端口,这些命令由TCP/IP协议封装并传递。在局域网中,每台计算机都有一个唯一的IP地址,通过这个地址可以定位并与其进行通信。例如,你可以编写一个...

    Python伪造TCP数据包1

    在Python中,可以使用内置的`socket`模块来创建和操作TCP套接字,进而构造和发送自定义的TCP数据包。具体操作包括: 1. 创建套接字:使用`socket.socket()`函数创建一个套接字对象,指定协议族(AF_INET代表IPv4)...

Global site tag (gtag.js) - Google Analytics