- android - RelativeLayout 背景可绘制重叠内容
- android - 如何链接 cpufeatures lib 以获取 native android 库?
- java - OnItemClickListener 不起作用,但 OnLongItemClickListener 在自定义 ListView 中起作用
- java - Android 文件转字符串
我正在使用 angular 4.1.0 开发一个 MEAN 项目。
在我的本地主机上,一切正常,没有错误。但是,当我部署到服务器时,检索具有超过 8 个问答对的用户会导致 xhr 请求上出现 net::ERR_CONNECTION_CLOSED 错误,angular 的 http 模块将触发。
我托管的 digital ocean 水滴使用 nginx 反向代理并使用 letsencrypt SSL 证书。我试过:
client_max_body_size
增加到 20M
large_client_header_buffers
的大小增加到 128k
其他重要事实:
qapairs?jwt=ey..
的 GET
请求永远不会到达 node.js 应用/var/log/nginx/error.log
中没有提到请求/var/log/nginx/access.log
中显示的失败请求如下:
89.15.159.19 - - [08/May/2017:14:25:53 +0000] "-" 400 0 "-" "-"
89.15.159.19 - - [08/May/2017:14:25:53 +0000] "-" 400 0 "-" "-"
请指出可能的方向。
登录到只有 7 个问题答案对的帐户后
然后,进入 mlab.com 并手动将另一个问题答案对添加到同一帐户,然后刷新页面(注意现在的问题数量为 8)
最后,在登录和退出同一帐户后(注意对 qapairs?jwt=ey...
的 xhr 请求返回失败状态)
/etc/nginx/sites-enabled/default
# HTTP — redirect all traffic to HTTPS
server {
listen 80;
listen [::]:80 default_server ipv6only=on;
return 301 https://$host$request_uri;
}
# etc
# HTTPS ^ ^ proxy all requests to the Node app
server {
# Enable HTTP/2
listen 443 ssl http2;
listen [::]:443 ssl http2;
server_name subdomain.example.com;
# Use the Let ^ ^ s Encrypt certificates
ssl_certificate /etc/letsencrypt/live/example.com/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/example.com/privkey.pem;
# Include the SSL configuration from cipherli.st
include snippets/ssl-params.conf;
# Increase allowed URL length
large_client_header_buffers 4 128k;
# Increase max body size
client_max_body_size 20M;
location / {
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-NginX-Proxy true;
proxy_pass http://subdomain.example.com:3001/;
proxy_ssl_session_reuse off;
proxy_set_header Host $http_host;
proxy_cache_bypass $http_upgrade;
proxy_redirect off;
}
}
qa-pairs.service.ts
The error is being caught here in the
getQAPairs
function. Being passed to the callback in thecatch
function aProgressEvent
object with atype
property oferror
,eventPhase
of2
.@Injectable()
export class QaPairsService {
/* etc */
getQAPairs () {
const jwt = localStorage.getItem('jwt') ? `?jwt=${localStorage.getItem('jwt')}` : ''
return this.http.get(this.qapairsUrl + jwt)
.map(response => {
this.qapairs = response.json().map((qapair: IQAPair) => new QAPair(qapair))
this.qapairsChanged.emit(this.qapairs)
return this.qapairs
})
.catch(
(error: any) => {
error = error.json()
this.errorsService.handleError(error)
return Observable.throw(error)
}
)
}
/* etc */
}
最佳答案
/etc/nginx/sites-enabled/default
# other code hereserver { # other code here # Increase http2 max sizes http2_max_field_size 64k; http2_max_header_size 64k;}
我发现这很难调试的原因是因为有
no mention of the request in
/var/log/nginx/error.log
而且我没有意识到 nginx 有能力成为 more verbose with its logging (呃)
所以在更改 /etc/nginx/sites-enabled/default
以包含
server {
error_log /var/log/nginx/error.log info;
}
我看到了
2017/05/08 16:17:04 [info] 3037#3037: *9 client exceeded http2_max_field_size limit while processing HTTP/2 connection, client: 89.15.159.19, server: 0.0.0.0:443
这是我需要的错误信息。
关于node.js - net::ERR_CONNECTION_CLOSED 在 mongo 文档中有超过 7 个子文档时在远程服务器上,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43835963/
嗨,我在 Chrome 中遇到了一个问题。我不知道这是我的代码错误还是chrome错误。错误是 加载资源失败:net::ERR_CONNECTION_CLOSED 我的QSTNURL是 const a
在登录 sandbox.paypal.com 后,该站点加载时出现许多错误,看起来非常糟糕。 这似乎仅限于我,因为我的同事似乎没有同样的问题,我也没有发现任何其他人分享相同问题的报告。 我正在运行 O
当我访问自己的基于WordPress的网站时,有时会在Chrome控制台面板中看到以下错误消息。 无法加载资源:net :: ERR_CONNECTION_CLOSED Screenshot 结果,主
我正在 Heroku 上运行通用 Javascript 应用程序。 我的 Vue.js 应用程序正在由 Express.js 加载,并且请求被代理到 https://localhost:3000/ap
当我的站点没有 SSL 时,下面的脚本可以完美运行,也就是说,域为 http://www.dominio.com.br ,但是当我为网站激活 SSL 时,它会像 https://www.dominio
我有一个在 http 上完美运行的 node.js 应用程序。然后我添加了自签名证书来建立和测试 ssl 连接。当它成功时(使用 chrome 通知有人可以窃取东西)我从本地认证机构购买了 ssl 证
我一直想尝试使用Docker / Laradock来运行现有的Laravel项目。 我使用了https://laradock.io/上的说明,并使用以下命令来启动容器: docker-compose
请不要标记为重复,因为 SO 上的所有其他问题都不太像这个问题,并且所有解决方案都已尝试过并且无关紧要。 我正在 Windows 上工作,尝试使用 node.js 创建 BinaryServer 并允
我正在创建一个带有登录系统的多人游戏。但是,有一个错误,我不知道如何解决。当我运行我的应用程序时,出现以下错误:net::ERR_CONNECTION_CLOSED。 这是我的app.js var e
我有带 LAMP 的 VPS。我有来自 Startssl.com 的免费签名 SSL 证书(SSL 证书工作正常) 使用 http:// 协议(protocol)我可以连接到 ws://chat.ex
// 2. This code loads the IFrame Player API code asynchronously. var tag = document.createElement('s
我有一个新的 Plesk 服务器,我正在尝试迁移 https://glassboxgallery.uk使用一体式 WP 迁移插件。 站点的 .wpress 文件非常大 (8.6gb)。我已经更改了最大
我有一台安装了 Couchdb v1.6.1 的 VPS。 当我访问时http://myhost.com:5984 它工作正常。 在我配置 ssl 并尝试访问之后 https://myhost.com
我有这段 javascript 代码在执行我的点击,它应该可以启用正确的点击跟踪。 clickDestinations都是不一样的,而且有很多(跨域)。 var response = window.o
我在 Firebase 中的 DigitalOcean Droplet 和 Angular 应用程序上托管了我的 Node 应用程序和 MongoDB。我能够从 Postman 和在端口 4200 上
当我尝试通过 https 在服务器(使用 jQuery 或 Dropzone.js)上发布图像时如何处理 Google Chrome (v.51.0) 中的 net::ERR_CONNECTION_C
我正在使用 angular 4.1.0 开发一个 MEAN 项目。 在我的本地主机上,一切正常,没有错误。但是,当我部署到服务器时,检索具有超过 8 个问答对的用户会导致 xhr 请求上出现 net:
我正在尝试使用 Nginx v1.8.0 从单个 VPS 中为多个 TLS 安全域提供服务,但出于某种原因,它只是没有在服务器 block 中进行证书配置。当我将 ssl_certificate 和
我有一个非常奇怪的错误: 我试图测试在 websockets 上进行的实时聊天,但是当加载脚本时,我在开发人员工具窗口中收到了这条消息:“WebSocket 连接到‘wss://chat.mywebs
Grunt 文件: module.exports = function(grunt) { // Project configuration. grunt.initConfig({ pk
我是一名优秀的程序员,十分优秀!