nginx - Nginx响应与access.log显示200,但浏览器收不到,如何解决?
问题描述
我想用 nginx 代理后端服务。我可以请求数据并返回 truehttp://127.0.0.1:3000/api/carnews
但我想使用 nginx 在 80(或任何端口)上工作,但是当我访问时http://127.0.0.1/api/carnews
,后端响应和 nginxaccess.log
显示 200 ,但浏览器正在等待处理(邮递员相同)
nginx 版本是 1.17.3
起初,我在docker上使用nginx,然后在主机上,但问题没有解决。我灰了某人,他们也认为配置正确。
我试了很多次!!!!并发现,当响应长度小于 9698 时。我可以在浏览器上接收数据,当长度大于 9697 时,浏览器处于等待状态。多么神奇的长度,我尝试用它在谷歌上搜索,但没有找到 Ps:后端在 docker 上,当我在主机上启动演示时,9698 限制变为 9729............ ......而且http://127.0.0.1:3000/api/carnews
长度大于9697时的api直接访问也是可以的。所以我认为后端没有错,可能是nginx配置
nginx.conf
worker_processes 1;
events {
worker_connections 1024;
}
http {
include mime.types;
default_type application/octet-stream;
sendfile on;
keepalive_timeout 65;
upstream nodejs {
server 127.0.0.1:3000;
keepalive 64;
}
server {
listen 80;
server_name 0.0.0.0;
root /;
location ~ ^/(api) {
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header Host $http_host;
proxy_pass http://nodejs;
}
}
}
访问日志
127.0.0.1 - - [20/Aug/2019:21:30:46 +0800] "GET /api/carnews HTTP/1.1" 200 9697 "-" "PostmanRuntime/7.13.0" browser 200
127.0.0.1 - - [20/Aug/2019:21:31:11 +0800] "GET /api/carnews HTTP/1.1" 200 9698 "-" "PostmanRuntime/7.13.0" browser pending and fail
解决方案
推荐阅读
- google-compute-engine - Compute Engine API - 如何使用容器创建实例?
- office365 - isResourceAccount 始终为空
- c# - 如何从表格 2 到表格 1 获得布尔值?
- c# - 将字符串转换为字符串[],然后将字符串[]转换为字节[]
- apache-camel - 我们可以同时使用两者吗
和 在阿帕奇骆驼 - javascript - 将电子邮件和密码存储在组件状态以处理输入值是否安全?
- javascript - 引导卡柱砌体效果 - 改变高度卡是跳跃的
- javascript - 从 204 无内容响应中获取标头
- java - Mockito.when() 内的两次 ArgumentCaptor.capture()
- oop - 使用 RTTS 从内部表中为字段创建范围