访问localhost:8080/8081提示需输入用户名密码无法登录如何解决
本地8080/8081端口要求身份验证的解决方法
步骤1:定位端口对应的运行进程
先确定占用目标端口的服务类型,再针对性处理:
- Windows系统:打开cmd,执行命令
netstat -ano | findstr :[你的访问端口,比如8080/8081],拿到返回结果最后一列的PID号,再执行tasklist | findstr [PID号]即可查看对应服务名称。 - macOS/Linux系统:打开终端,执行命令
sudo lsof -i :[你的访问端口,比如8080/8081],输出结果里COMMAND列就是对应服务名,PID列是进程号。
步骤2:对应服务的通用解决方法
情况1:Tomcat服务
- 打开Tomcat安装目录下的
conf/tomcat-users.xml文件,查找<user>标签的配置即可获取预设的用户名密码,示例配置如下:
<user username="admin" password="自定义密码" roles="manager-gui,admin-gui"/>
- 无有效配置时可直接在文件中新增上述用户配置,保存后重启Tomcat服务即可用新账号登录。
情况2:Nginx/Apache服务
- 一般是配置了HTTP Basic Auth,找到站点配置文件(Nginx一般在
nginx.conf或sites-enabled目录下),搜索auth_basic_user_file字段,后面跟的就是密码存储文件路径。 - 可直接执行命令修改密码:
htpasswd -c [密码文件路径] [自定义用户名],输入两次新密码后重启Nginx/Apache服务即可。
情况3:第三方工具服务(Jenkins、调试中间件等)
- Jenkins初始密码默认存放在用户目录下的
.jenkins/secrets/initialAdminPassword文件中,打开复制内容即可登录。 - 若是自建后端服务开启了身份校验,排查安全框架(Spring Security、Shiro等)、拦截器的配置,找到测试账号即可,也可以临时注释身份校验逻辑重启服务跳过验证。
情况4:无有效配置的极端处理
- 直接终止对应端口的进程即可:Windows执行
taskkill /PID [PID号] /F,macOS/Linux执行kill -9 [PID号],之后重启服务时重新配置账号密码即可。
内容的提问来源于stack exchange,提问作者Nur Ielia
相关产品推荐
相关产品推荐

