Apache Tomcat代理服务器无响应问题求助:访问localhost:8080异常
解决Tomcat访问localhost:8080出现代理服务器错误的方案
我之前排查过好几个类似的问题,出现这个提示基本是因为你的系统或者浏览器把localhost:8080的请求误判成了代理请求,下面是几个亲测有效的解决步骤:
检查浏览器代理设置
- 以Chrome为例:点击右上角三个点→设置→拉到最底部选“高级”→找到“系统”板块,点击“打开您计算机的代理设置”
- 重点确认:要么关闭“自动检测设置”,要么在“不使用代理服务器的地址”里手动添加
localhost和127.0.0.1(多个地址用逗号分隔) - 修改完后关闭浏览器,重新打开再访问localhost:8080试试
检查系统级代理配置
- Windows系统:打开控制面板→网络和Internet→Internet选项→切换到“连接”标签→点击“局域网设置”
- 取消勾选“自动检测设置”,或者点击“高级”按钮,把
localhost、127.0.0.1添加到“例外”列表
- 取消勾选“自动检测设置”,或者点击“高级”按钮,把
- Mac系统:打开系统设置→网络→选中当前正在使用的网络(比如Wi-Fi)→点击“高级”→切换到“代理”标签
- 同样检查自动代理是否开启,确保本地地址在例外规则里
- Windows系统:打开控制面板→网络和Internet→Internet选项→切换到“连接”标签→点击“局域网设置”
排查端口占用问题
- 有时候8080端口可能被其他代理软件(比如Fiddler、Charles)占用了,导致Tomcat没真正监听这个端口
- 检查端口占用:
- Windows:打开命令提示符,输入
netstat -ano | findstr :8080,查看结果里的进程ID(PID),然后在任务管理器里找到对应进程关闭 - Mac/Linux:打开终端,输入
lsof -i :8080,找到占用端口的进程后用kill -9 [PID]关闭
- Windows:打开命令提示符,输入
- 如果不想关闭其他软件,可以修改Tomcat的端口:找到Tomcat安装目录下的
conf/server.xml,找到<Connector port="8080" ...>这一行,把8080改成其他未被占用的端口(比如8081),保存后重启Tomcat
检查hosts文件是否异常
- 打开hosts文件:
- Windows:路径是
C:\Windows\System32\drivers\etc\hosts,需要用管理员权限打开记事本编辑 - Mac/Linux:路径是
/etc/hosts,用sudo nano /etc/hosts命令编辑
- Windows:路径是
- 确保有一行
127.0.0.1 localhost,并且这一行没有被注释掉(前面没有#符号),也没有被指向其他陌生IP
- 打开hosts文件:
暂时关闭第三方安全软件
- 有些杀毒软件、防火墙或者网络安全工具会默认拦截本地端口的请求,或者把它们路由到代理服务器
- 暂时关闭这类软件,然后重新访问Tomcat页面,如果能正常打开,再去安全软件的设置里添加Tomcat程序(比如
bin/catalina.bat或bin/startup.sh)到信任列表,允许它监听8080端口
内容的提问来源于stack exchange,提问作者user6731783




