【解决】自己的域名任何端口都访问不到,公网地址正常访问,服务器报错500。

一、问题描述

后端项目部署在服务器上,通过域名访问接口服务器报错500,通过浏览器访问殒命的任何端口都是无法访问此网站。
在这里插入图片描述
在这里插入图片描述

但是通过公网地址访问是可以正常访问到的,感觉是域名出现了问题

在这里插入图片描述

二、解决过程

先说结论:问题原因是,域名只映射了ipv4.但是电脑影射了ipv6。或者就是DNS解析错误。

打开阿里云域名管理查看记录类型正常

在这里插入图片描述

打开服务器查看安全策略配置正常
在这里插入图片描述

cmd运行如下命令, nslookup后为自己的域名

nslookup hvri1.xyz

在这里插入图片描述

可以强制使用8.8.8.8验证,,nslookup后为自己的域名

nslookup hvri1.xyz 8.8.8.8

在这里插入图片描述

所以确定了问题所在就好解决了

打开网络共享中心,选择当前网络,点击属性

1、第一步取消勾选Ipv6协议

在这里插入图片描述

2、ipv4配置如下
在这里插入图片描述

点击确定

测试是否解决

在这里插入图片描述
在这里插入图片描述

### Java 中 HTTP 请求报错的原因及解决方案 在开发基于 Java 的 Web 应用程序时,HTTP 请求可能会因为多种原因而失败并返回错误状态码。以下是常见的报错原因及其对应的解决方案: #### 1. **错误代码 405** 当客户端尝试通过不被支持的方法访问资源时,服务器会返回 `405 Method Not Allowed` 错误。此问题通常发生在 Servlet 配置不当的情况下。 - 原因分析: 如果服务端未定义特定的 HTTP 方法(如 GET 或 POST),则调用这些方法时会触发该错误[^1]。 - 解决方案: 确保 servlet 类中实现了对应 HTTP 方法的功能逻辑。例如,在处理 GET 和 POST 请求时,需分别实现 `doGet()` 和 `doPost()` 方法。如果某些方法不需要,则应在配置文件中禁用它们。 ```java protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { // 实现GET请求的具体业务逻辑 } protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { // 实现POST请求的具体业务逻辑 } ``` --- #### 2. **DNS解析异常 (UnknownHostException)** - 原因分析: 当应用程序无法解析目标主机名时,会发生 `UnknownHostException` 异常。这种情况可能由于网络连接中断、域名配置错误或者 DNS 缓存过期引起[^2]。 - 解决方案: 检查系统的 hosts 文件以及 DNS 设置是否正确;确认互联网连通性良好;必要时手动指定 IP 地址代替域名进行测试。 --- #### 3. **Tomcat 启动或配置问题** - 原因分析: Tomcat 是常用的 Java 容器环境之一,但在实际操作过程中容易遇到诸如路径缺失、依赖冲突等问题导致其无法正常加载项目配置文件[^3]。 - 解决方案: 查看具体的日志输出定位确切位置,并修复损坏的部分。另外还可以考虑升级至最新稳定版本来规避已知漏洞影响性能表现。 --- #### 4. **后端未能接收到前端发起的 Get 请求** - 原因分析: 可能存在跨域资源共享(CORS)限制或者是防火墙阻止了外部流量进入内部网段等原因造成通信障碍[^4]。 - 解决方案: 添加 CORS 支持允许来自不同源的安全连接;调整安全组规则开放必要的端口和服务权限给公网访问。 ```java @Override public void configure(WebSecurity web) throws Exception { web.ignoring().antMatchers(HttpMethod.OPTIONS); } @Bean public CorsFilter corsFilter() { UrlBasedCorsConfigurationSource source = new UrlBasedCorsConfigurationSource(); CorsConfiguration config = new CorsConfiguration(); config.setAllowCredentials(true); config.addAllowedOrigin("*"); config.addAllowedHeader("*"); config.addAllowedMethod("*"); source.registerCorsConfiguration("/**", config); return new CorsFilter(source); } ``` --- ### 总结 以上列举了几种典型的场景及其应对措施,但需要注意的是每一种情况背后都可能存在更深层次的技术细节等待挖掘探索。因此建议开发者们平时多积累经验教训形成良好的编码习惯从而减少不必要的麻烦发生几率。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

HvrI1

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值