TomcatをJettyに置き換えました。これで、サードパーティのシステムから送信されたリクエストに対して400のhttpエラーコードがあります。curl
ご覧のとおり、Webブラウザとによって送信されたテストとの違いはhttp動詞のURLです。
POST http://10.15.1.9:49302 HTTP/1.0
Host: 10.15.1.9
Content-Type: text/xml
Content-Length: 71065
User-Agent: hpost/0.1
Pragma: no-cache
Accept: */*
このリクエストは機能しませんが、などの相対URLで投稿すると問題なく機能しますPOST / HTTP/1.0
。誰が間違っていますか?サードパーティのシステムを変更することはできませんが、桟橋にそのような要求を受け入れさせることはできますか?
Jetty v6.1.26、v7.6.4、v8.1.4を試しましたが、同じように動作します。
わかりました。理由は、URLの後にスラッシュがないことだと思います。問題なくPOST http://10.15.1.9:49302/ HTTP/1.0
動作します。
突堤の問題なのか、クライアントが不正な形式のURLを送信したのかを誰かが知っていますか?