Linux卷曲发布请求和错误417但sudo成功?

时间:2017-08-15 12:08:31

标签: linux curl docker nginx

我的服务部署在docker中,暴露的nginx端口是18082;服务端口是38087,我试过了。

虽然我使用命令

  

curl -i -X POST -H'content-type:text / json'-d @ post.json \   http://127.0.0.1:18082/youtu/openliveapi/livedetectfour

返回417

HTTP/1.1 417 Expectation failed
Server: squid/2.7.STABLE9
Date: Tue, 15 Aug 2017 11:57:04 GMT
Content-Type: text/html
Content-Length: 1436
X-Squid-Error: ERR_INVALID_REQ 0
X-Cache: MISS from SK-SQUIDDEV-118
X-Cache-Lookup: NONE from SK-SQUIDDEV-118:8080
Connection: close

但是当我在前面添加sudo时,它会返回成功。      HTTP / 1.1 100继续      HTTP / 1.1 200 OK服务器:openresty / 1.9.15.1

我真的做搜索并且知道当卷曲超过1024字节时,它将首先发送

期望100-continue.if服务器不支持该请求,它将返回417错误。

然后怎么可能sudo succsess,也许它与nginx机制有关,我对此并不熟悉。谢谢。

1 个答案:

答案 0 :(得分:0)

由于您在公司设置中使用代理,因此代理可能会插入用户的bash配置文件中。你可以做3件事

更新〜/ .bash_profile或〜/ .bashrc

从您的个人资料中删除代理,您将不需要代理

取消设置变量

您可以在调用之前取消设置变量

unset http_proxy
unset https_proxy
curl -i -X POST -H 'content-type: text/json' -d @post.json \ http://127.0.0.1:18082/youtu/openliveapi/livedetectfour

删除呼叫的变量

您可以为那个卷曲调用设置变量

http_proxy= https_proxy= curl -i -X POST -H 'content-type: text/json' -d @post.json \ http://127.0.0.1:18082/youtu/openliveapi/livedetectfour