我正在使用带有jetty servlet的nginx实现。
出于我的项目的目的,我需要初始化两个与jetty servlet的连接并保持它们打开。 要初始化下行链路,我使用正常请求,然后返回输入流。 要初始化上行链路,我使用分块编码请求。
我使用1.4.6 nginx版本,因此默认设置分块编码,无论我在服务器定义中设置它。
#HTTPS server
server {
listen 443;
listen [::]:443;
server_name localhost;
ssl on;
ssl_certificate /etc/nginx/ssl/server.crt;
ssl_certificate_key /etc/nginx/ssl/server.key;
ssl_session_timeout 5m;
ssl_protocols SSLv2 SSLv3 TLSv1;
ssl_ciphers HIGH:!aNULL:!MD5;
ssl_prefer_server_ciphers on;
location / {
proxy_http_version 1.1;
expires off;
proxy_buffering off;
chunked_transfer_encoding on;
proxy_pass https://127.0.0.1:8080;
# root html;
# index index.html index.htm;
}
}
我搜遍了所有论坛,但仍然无法找到解决方案。 启用分块编码,代理缓冲等等。 我无法让它发挥作用。我还做了一些简单的测试,以确保不是我的应用程序实现以某种方式阻止它,它仍然无效。
我还能尝试其他什么吗?
答案 0 :(得分:0)
所以我也在nginx论坛上发帖,我收到了回复。我特意寻找的东西称为"无缓冲上传"这是目前nginx不提供的功能。
使用websockets是不可能的,因为稍后这个原型需要在使用http协议的更大更旧的系统中实现。所以答案就是" nginx"是不可能的。任何面临同样问题的人都可以使用tengine,这是一个nginx分支。