当前位置:论坛首页 > Linux面板 > 求助

【已解答】nginx如何隐藏400 Bad Request HTTP request was sent to HTTPS p

发表在 Linux面板2023-7-17 16:47 [复制链接] 4 3198

不懂就问啊
宝塔nginx我设置了
server{
    listen 10001 ssl;
    server_name mydomain.com;

以非标准端口HTTPS访问,能正常访问网页。

但非标准端口HTTP访问,以及ip:10001访问,会显示↓

400 Bad Request
The plain HTTP request was sent to HTTPS port
nginx

感觉有点安全隐患,我期望 nginx完全都不显示,一直转圈圈就好了。

请问一下如何实现,感谢


使用道具 举报 只看该作者 回复
发表于 2023-7-17 21:34:24 | 显示全部楼层
您好,要实现你期望的行为,您可以通过配置 Nginx 的错误页面和重定向来实现。
您可在站点内配置以下内容:
  1. server {
  2.     listen 10001 ssl;
  3.     server_name mydomain.com;

  4.     # 处理非标准端口 HTTP 访问或直接 IP 访问的请求
  5.     error_page 497 =200 @load;
  6.     location @load {
  7.         root /usr/share/nginx/html;
  8.         rewrite ^ /error.html break;
  9.     }

  10.     # 其他配置...
  11. }
复制代码
上述配置中,我们使用 error_page 指令将 HTTP 状态码 497 映射到自定义错误页面 @load。然后,使用 location 指令定义 @load 位置,将其重定向到自定义错误页面 error.html。
这里需注意:@load指您的网页路径,error.html需要您自己创建编写
最后再重启NGINX服务即可
使用道具 举报 回复 支持 反对
发表于 2023-7-17 21:42:07 | 显示全部楼层
堡塔运维盏尽 发表于 2023-7-17 21:34
您好,要实现你期望的行为,您可以通过配置 Nginx 的错误页面和重定向来实现。
您可在站点内配置以下内容: ...

感谢回复
使用道具 举报 回复 支持 反对
发表于 2023-7-17 21:44:14 | 显示全部楼层
if ($server_port !~ 10001){
        rewrite ^(/.*)$ https://$host$1 permanent;
    }

问了个专业的,用这一段也能实现一直转圈圈效果
使用道具 举报 回复 支持 反对
发表于 2023-7-18 00:06:50 | 显示全部楼层
宝塔用户_rsaheo 发表于 2023-7-17 21:44
if ($server_port !~ 10001){
        rewrite ^(/.*)$ https://$host$1 permanent;
    }

您好,这段配置代码是用来进行重定向的,它的作用是将不符合条件的请求重定向到 HTTPS 协议下的同样 URL。

根据你提供的代码,这段配置的意思是,如果请求的 $server_port(请求的端口号)不是 10001,则会对请求进行重定向,将其转到 HTTPS 协议的同样 URL 地址。

然而,这段配置代码与实现转圈圈效果没有直接关系。如果你希望实现转圈圈效果,通常需要使用前端技术,例如 CSS 或 JavaScript 来实现。你可以在 HTML 页面中使用动画效果或加载动画库,以实现转圈圈效果。
使用道具 举报 回复 支持 反对
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

普通问题处理

论坛响应时间:72小时

问题处理方式:排队(仅解答)

工作时间:白班:9:00 - 18:00

紧急运维服务

响应时间:3分钟

问题处理方式:宝塔专家1对1服务

工作时间:工作日:9:00 - 18:30

宝塔专业团队为您解决服务器疑难问题

点击联系技术免费分析

工作时间:09:00至18:30

快速回复 返回顶部 返回列表