centos6 关于 ssh,svn,tomcat远程不能访问的问题处理过程

2024-03-03 12:38

本文主要是介绍centos6 关于 ssh,svn,tomcat远程不能访问的问题处理过程,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

问题:局域网内配置好tocmat,服务器本机访问http://ip:8080成功,但远程访问http://ip:8080失败,下面是一步步排查过程:


1、tomcat禁用IPv6

关闭网卡IPV6协议

#netstat –anp |grep 8080  //是jsvc程序和tomcat用户在用,且端口在监听状态

#lsof –i:8080 //发现type=IPV6,很奇怪怎么是IPV6监听8080端口

#netstat –tpl //查看端口监听协议

原因是Tomcat在启动的时候,如果检测到系统支持IPV6,默认监听的是IPV6的端口,导致通过IPV4无法访问。使用address=“0.0.0.0”的意思是监听IPV4协议栈下的任何端口。IPV4协议监听任何地址应配置:0.0.0.0。IPV6协议监听任何地址应配置:0:0:0:0:0:0:0:0。

从系统层面关闭IPV6,觉得影响太大,于是先从tomcat应用层面关闭IPV6:

方法一:tomcat目录下配置 bin/Catalina.sh

最后增加:

JAVA_OPTS="$JAVA_OPTS

-Djava.net.preferIPv4Stack=true

-Djava.net.preferIPv4Addresses=true "

无效

方法二:tomcat目录下配置conf/server.xml

#netstat -an | grep 8080 //还是ipv6在监听

在端口8080标签内增加address=”0.0.0.0”

无效


2、系统网卡禁用IPv6

从系统层面直接关闭网卡的IPv6协议。

方法一:

#vi /etc/sysconfig/network

增加:NETWORKING_IPV6=no

#service network restart //重启网络

#lsmod |grep ipv6 //仍存在

无效

方法二:

在/etc/modprobe.d/dist.conf结尾添加

alias net-pf-10 off

alias ipv6 off

重启机子

#lsof –i:8080 //type为ipv4了

可是关闭了ipv6关闭了防火墙还是无法远程访问tomcat。


3、防火墙配置

增加8080端口到防火墙配置中,执行以下操作:

# vi /etc/sysconfig/iptables

增加以下代码:

-A RH-Firewall-1-INPUT -m state --state NEW -mtcp -p tcp --dport 8080 -j ACCEPT

-A INPUT -m state --state NEW -m tcp -p tcp--dport 8080 -j ACCEPT

-A INPUT –p tcp –m tcp --dport 8080 –j ACCEPT

//重启防火墙

# service iptables restart

#/etc/init.d/iptables status //查看防火墙状态,已配置8080端口

远程访问依旧失败,究竟原因是什么呢?即使关闭本机防火墙也没办法,各种折腾,已崩溃,耗时一天。


4、局域网限制端口

目前的状态是关闭防火墙关闭IPV6,在本机访问tocmat正常,但在局域网无法远程访问。综合分析,可能是局域网服务器区的防火墙对端口作限制,通过telnet也无法返回,最后确认是这个问题。申请局域网防火墙开放服务器的tomcat端口。


从上述一个解决问题过程中,确实发现centos部署tomcat需要关注的两点,一个是tomcat默认绑定了IPv6监听端口;另一个是服务器本机防火墙iptables需要启用8080端口。


这篇关于centos6 关于 ssh,svn,tomcat远程不能访问的问题处理过程的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/769636

相关文章

MySQL 设置AUTO_INCREMENT 无效的问题解决

《MySQL设置AUTO_INCREMENT无效的问题解决》本文主要介绍了MySQL设置AUTO_INCREMENT无效的问题解决,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参... 目录快速设置mysql的auto_increment参数一、修改 AUTO_INCREMENT 的值。

关于跨域无效的问题及解决(java后端方案)

《关于跨域无效的问题及解决(java后端方案)》:本文主要介绍关于跨域无效的问题及解决(java后端方案),具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录通用后端跨域方法1、@CrossOrigin 注解2、springboot2.0 实现WebMvcConfig

Go语言中泄漏缓冲区的问题解决

《Go语言中泄漏缓冲区的问题解决》缓冲区是一种常见的数据结构,常被用于在不同的并发单元之间传递数据,然而,若缓冲区使用不当,就可能引发泄漏缓冲区问题,本文就来介绍一下问题的解决,感兴趣的可以了解一下... 目录引言泄漏缓冲区的基本概念代码示例:泄漏缓冲区的产生项目场景:Web 服务器中的请求缓冲场景描述代码

Java死锁问题解决方案及示例详解

《Java死锁问题解决方案及示例详解》死锁是指两个或多个线程因争夺资源而相互等待,导致所有线程都无法继续执行的一种状态,本文给大家详细介绍了Java死锁问题解决方案详解及实践样例,需要的朋友可以参考下... 目录1、简述死锁的四个必要条件:2、死锁示例代码3、如何检测死锁?3.1 使用 jstack3.2

解决JSONField、JsonProperty不生效的问题

《解决JSONField、JsonProperty不生效的问题》:本文主要介绍解决JSONField、JsonProperty不生效的问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑... 目录jsONField、JsonProperty不生效javascript问题排查总结JSONField

github打不开的问题分析及解决

《github打不开的问题分析及解决》:本文主要介绍github打不开的问题分析及解决,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录一、找到github.com域名解析的ip地址二、找到github.global.ssl.fastly.net网址解析的ip地址三

MySQL版本问题导致项目无法启动问题的解决方案

《MySQL版本问题导致项目无法启动问题的解决方案》本文记录了一次因MySQL版本不一致导致项目启动失败的经历,详细解析了连接错误的原因,并提供了两种解决方案:调整连接字符串禁用SSL或统一MySQL... 目录本地项目启动报错报错原因:解决方案第一个:第二种:容器启动mysql的坑两种修改时区的方法:本地

springboot加载不到nacos配置中心的配置问题处理

《springboot加载不到nacos配置中心的配置问题处理》:本文主要介绍springboot加载不到nacos配置中心的配置问题处理,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑... 目录springboot加载不到nacos配置中心的配置两种可能Spring Boot 版本Nacos

Python远程控制MySQL的完整指南

《Python远程控制MySQL的完整指南》MySQL是最流行的关系型数据库之一,Python通过多种方式可以与MySQL进行交互,下面小编就为大家详细介绍一下Python操作MySQL的常用方法和最... 目录1. 准备工作2. 连接mysql数据库使用mysql-connector使用PyMySQL3.

Linux使用scp进行远程目录文件复制的详细步骤和示例

《Linux使用scp进行远程目录文件复制的详细步骤和示例》在Linux系统中,scp(安全复制协议)是一个使用SSH(安全外壳协议)进行文件和目录安全传输的命令,它允许在远程主机之间复制文件和目录,... 目录1. 什么是scp?2. 语法3. 示例示例 1: 复制本地目录到远程主机示例 2: 复制远程主