技术解析
1.网站 www.xxx.com 放在 Nginx 里跑在 80 端口上;
2.当前服务器 5000 端口上跑着服务,打算在访问 www.aaa.com/apis 的时候 让 Nginx 转发到 127.0.0.1:5000 上进行数据交换;
3.本机有防火墙所以 5000 端口只能用 127.0.0.1:5000 用 Ngin国外服务器x 进行转发。具体配置如下:
location /apis/{ rewrite ^/apis/(.*)$ /$1 break; proxy_set_header Host: www.xxx.com; proxy_method POST; proxy_pass http://127.0.0.1:5000/; }
4.在页面中执行 ajax 请求在开发人员工具 network 中观察到走了两条请求: /apis/get_sowing_area/ /apis/get_sowing_area 一个带 /一个不带,我仔细看了下确定不是 js 的问题。 不带 /的返回 301 MOVED PERMANENTLY 提交方式是 post 带 /的返回 400 BAD REQUEST 不知道为啥成了 get 难道说反向代理仅支持 get 请求? 我本来是 post 提交的等到 Nginx 反向代理的时候就成了 get?
有点搞不懂了,仅仅是反向代理啊 取来了数据按说应该诶啥大问题啊。