KTor服务器-Azure应用服务出现400错误

dzjeubhm  于 2023-11-21  发布在  其他
关注(0)|答案(1)|浏览(134)

我正在使用netty运行ktor服务器。我们之前有EmbeddedServer(),我们移动到EngineMain()来容纳yaml(conf)配置文件。看起来我们在更改后得到了400 Bad Request。KTor服务器是否默认验证头部以发送400?
ktorVersion=2.3.0
应用程序没有RequestValidation{}和StatusPages模块,不确定添加它们是否有帮助?
好的,添加了状态页面,但遇到任何错误都会点击它。奇怪的是,Azure App Service会发生这种情况,但在本地运行时,Ktor服务会响应并按预期工作。
请求:

GET / HTTP/1.1
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,*/*;q=0.8
Host: xxx-yyyyyy-zzzzzzzzzz-aaaaa.azurewebsites.net
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:109.0) Gecko/20100101 Firefox/115.0
Accept-Encoding: gzip, deflate, br
Accept-Language: en-US
Max-Forwards: 10
DNT: 1
Sec-Fetch-Dest: document
Sec-Fetch-Mode: navigate
Sec-Fetch-Site: none
Sec-Fetch-User: ?1
X-ARR-LOG-ID: c0e417c3-aaaa-bbbb-cccc-ddddcd626ef9
CLIENT-IP: x.x.x.x:45628
X-Client-IP: x.x.x.x
DISGUISED-HOST: xxx-yyyyyy-zzzzzzzzzz-aaaaa.azurewebsites.net
X-SITE-DEPLOYMENT-ID: xxx-yyyyyy-zzzzzzzzzz-aaaaa-aaa__f6ad
WAS-DEFAULT-HOSTNAME: xxx-yyyyyy-zzzzzzzzzz-aaaaa.azurewebsites.net
X-Forwarded-Proto: https
X-AppService-Proto: https
X-ARR-SSL: 2048|256|CN=Microsoft Azure TLS Issuing CA 02, O=Microsoft Corporation, C=US|CN=*.azurewebsites.net, O=Microsoft Corporation, L=Redmond, S=WA, C=US
X-Forwarded-TlsVersion: 1.2
X-Forwarded-For: x.x.x.x:45628
X-Original-URL: /
X-WAWS-Unencoded-URL: /
X-Client-Port: 45628

字符串
响应

HTTP/1.1 400 Bad Request
Content-Length: 0
Connection: close

neskvpey

neskvpey1#

好的,仅供参考,问题是应用程序服务正在向请求附加大标题,Ktor服务器正在响应400。更新application.conf与max header/request length解决了这个问题。

deployment {
    maxInitialLineLength = 10240
    maxHeaderSize = 8192
    maxChunkSize = 42
}

字符串

相关问题