0
我試圖通過本地主機訪問我的java項目,頭中的數據保留。所以下面的方法工作正常。 Websocket正在被打開。當在nginx中使用java應用程序時丟失頭中的數據
if (!headerContainsToken(req, "upgrade", "websocket")) {
resp.sendError(HttpServletResponse.SC_BAD_REQUEST);
return;
}
private boolean headerContainsToken(HttpServletRequest req,
String headerName, String target) {
Enumeration<String> headers = req.getHeaders(headerName);
while (headers.hasMoreElements()) {
String header = headers.nextElement();
String[] tokens = header.split(",");
for (String token : tokens) {
if (target.equalsIgnoreCase(token.trim())) {
return true;
}
}
}
return false;
}
這是我的申請
server {
listen test:80;
server_name test;
root /home/local/apache-tomcat-8.0.18/webapps/;
location/{
proxy_set_header X-Forwarded-Host;
proxy_set_header X-Forwarded-Server;
proxy_set_header X-Forwarded-For;
proxy_pass http://127.0.0.1:8080/;
}
的我的nginx的配置但當相同的應用程序是通過nginx的命中,則以上方法返回錯誤請求。 所以我不知道標題中的數據在哪裏通過nginx擊中。而websocket根本沒有開放。
任何建議PLZ
你應該編輯你的問題並添加你的'nginx'配置。 –
我添加了nginx配置 –