【发布时间】:2019-05-30 16:12:49
【问题描述】:
我正在脚本上设置 nginx 负载平衡器。
www.loadbalancer.com/request.php =>
www.example01.com/request.php
www.example02.com/request.php
www.example03.com/request.php
eg. 我想发送一个 POST 请求,当我检查www.example.com 的 access_log 时它显示 POST 但是当我继续访问 www.example01.com 时它显示 GET 所以它不会使用我的 x-www-form-urlencoded。
我在 nginx/1.10.3 上。
www.loadbalancer.com:[date] "POST /request.php HTTP/1.1" 301 185 "-" PostmanRuntime/7.4.0
www.example01.com:[date] "GET /request.php HTTP/1.1" 200 45 "https://www.loadbalancer.com/request.php" PostmanRuntime/7.4.0
loadbalancer.conf
location = /request.php {<br>
proxy_pass http://backup_servers$request_uri;<br>
proxy_redirect http://backup_servers$request_uri https://backup_servers$request_uri;
proxy_set_header Host $host;<br>
proxy_set_header X-Real-IP $remote_addr;<br>
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;<br>
proxy_method POST;<br>
proxy_set_header content-type "application/x-www-form-urlencoded";<br>
}
我希望方法变成 POST。
【问题讨论】:
-
如果表单提交到不安全的 http url,它不会变成 POST。从非安全的 http url 重定向到安全的 https url。表单提交到安全 https url 时能否确认访问日志
-
为什么要使用80端口发送post请求?当我在目标服务器上设置禁用返回 301 时,我有 404 错误,因为没有配置所有内容都在 443 端口上。
标签: php nginx server load-balancing nginx-reverse-proxy