负载均衡需要将域名A的POST请求转发给域名B,因此使用ALB配置监听转发规则,将转发动作中重定向的状态码配置为301或302。当客户端发出POST请求后,返回405状态码。
部分客户端的浏览器存在缺陷,会自动修改301、302重定向的请求方法和请求主体,即将301和302重定向的POST请求自动修改成了GET请求。
返回405状态码说明指定的请求方法不能被用于请求相应的资源,如果您的目的服务器不修改允许的请求方法,可以参考以下内容进行操作。
配置301重定向返回405
使用ALB配置监听转发规则,将转发动作中重定向的状态码配置为301。
登录Linux系统服务器,执行以下命令,查看POST请求的转发状态。
curl -vvv -X POST [$ALB_IP] -H "host:[$Hostname]" -L
[$ALB_IP]:负载均衡的IP地址。
[$Hostname]:请求访问的具体域名。
系统返回类似如下,确认已将POST请求完成301重定向,并且没有修改POST请求方法,可以判断是部分浏览器的缺陷问题。
使用ALB配置监听转发规则,将转发动作中重定向的状态码配置为308。
说明
:当发送永久重定向请求时,308状态码可以确保请求方法和消息主体不会发生变化。
在客户端发出POST请求,确认不返回405状态码。
配置302重定向返回405
使用ALB配置监听转发规则,将转发动作中重定向的状态码配置为302。
登录Linux系统服务器,执行以下命令,查看POST请求的转发状态。
curl -vvv -X POST [$ALB_IP] -H "[$Hostname]" -L
[$ALB_IP]:负载均衡的IP地址。
[$Hostname]:请求访问的具体域名。
系统返回类似如下,确认已将POST请求完成302重定向,并且没有修改POST请求方法,可以判断是部分浏览器的缺陷问题。
使用ALB配置监听转发规则,将转发动作中重定向的状态码配置为307。
说明
:当发送临时重定向请求时,307状态码可以确保请求方法和消息主体不会发生变化。
在客户端发出POST请求,确认不返回405状态码。
关于状态码的更多信息,请参见
状态码说明
。
ALB应用型负载均衡