我有一台服务器在防火墙后面运行,只有一个外部IP,因此通过Nginx框通过域代理请求。
当我在防火墙后面运行cURL时,一切都按计划进行:
HTTP/1.1 200 OK
cURL是:
curl -H "Content-Type: application/json" -X POST --data @test.json 111.111.111.111/endpoint/ -i
只要我在Postman / Hurl.it /网络外部运行此操作,我就会出现400
错误。当代码丢失POST主体(JSON)时,代码会抛出400
。回应这一点表明没有收到JSON。
相关的Nginx配置是:
server {
listen 80;
server_name domain.co;
location / {
proxy_pass http://111.111.111.111/;
proxy_set_header Host $host;
}
}
该域名确实落后于CloudFlare,我只是将其切换到DNS并尝试过 - 如果这是问题,我会感到非常惊讶。
我已经看过其他解决方案了,并尝试了一些解决方法,但我不确定我在这里做错了什么,除非我从根本上误解了proxy_pass
的工作原理?