【已完成】设置了反向代理后,HEAD方法访问都返回405
为了能快速了解并处理您的问题,请提供以下基础信息:面板、插件版本:宝塔正式最新版
系统版本:
centos7
问题描述:
RT
设置了反向代理,通过HEAD方法访问指定路径,均返回405,访问非反向代理200
本地访问方向代理的后置服务,用HEAD没问题是200
没有安装nginx防火墙
相关截图(日志、错误):
补充,nginx日志显示,只要是head访问,就 Connection refused 您好,检查一下您的反向代理是否正确配置了,是否运行HEAD通过
确保您访问的路径再反向代理和后端服务器上是操作的,然后也有权限
实在不行重启一下服务
如果这些办法不行的话您自己排查一下吧 运维技术南一 发表于 2024-4-24 10:14
您好,检查一下您的反向代理是否正确配置了,是否运行HEAD通过
确保您访问的路径再反向代理和后端服务器上 ...
你好,这是我反向代理的配置(手动配置后自动生成的)
#PROXY-START/bg/
location ^~ /bg/
{
proxy_pass http://localhost:3001/;
proxy_set_header Host localhost;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header REMOTE-HOST $remote_addr;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection $connection_upgrade;
proxy_http_version 1.1;
# proxy_hide_header Upgrade;
add_header X-Cache $upstream_cache_status;
#Set Nginx Cache
proxy_set_header Accept-Encoding "";
sub_filter "/bg" "";
sub_filter_once off;
set $static_fileAJpFGbP8 0;
if ( $uri ~* "\.(gif|png|jpg|css|js|woff|woff2)$" )
{
set $static_fileAJpFGbP8 1;
expires 1m;
}
if ( $static_fileAJpFGbP8 = 0 )
{
add_header Cache-Control no-cache;
}
}
#PROXY-END/bg/ 运维技术南一 发表于 2024-4-24 10:14
您好,检查一下您的反向代理是否正确配置了,是否运行HEAD通过
确保您访问的路径再反向代理和后端服务器上 ...
请问你们那边是否可以内测一下是否可以,因为HEAD请求的情景确实比较少,可能漏测了
重现方法为:
新建静态网站,把子目录/bg反向代理到本地的一个3001端口的本地网站(把/bg抹除),然后用HEAD方法访问其中一个路径 貌似你们新的测试版有纯反向代理,我试试吧 405状态码通常是使用了不支持的http方法
上面配置文件看起来没什么问题
确保后端服务器能够正确的处理head请求
检查后端服务的日志,结合日志进行一个分析排查 阿珂 发表于 2024-5-8 11:31
405状态码通常是使用了不支持的http方法
上面配置文件看起来没什么问题
确保后端服务器能够正确的处理head ...
你好,感谢回复,问题已解决。
问题原因:我后置的服务器禁了GET方法(没有禁HEAD方法),经过内部测试,宝塔的nginx会把HEAD方法反向代理后变为GET方法,因此被后置服务器拒绝,从而造成405并难以排查。
我已通过修改后置服务器解决此问题,宝塔这边根据需要可以评估,不修改也没问题,主要是我这边的问题。
页:
[1]