小编RAG*_*MAN的帖子

Amazon ELB背后的NodeJs应用程序抛出502

我们有一个在Amazon Elastic Load Balancer(ELB)后面运行的节点应用程序,当有多个并发请求时以及每个请求需要时间处理时,它会随机抛出502个错误.最初,我们尝试将ELB的空闲超时时间增加到5分钟,但我们仍然得到了502个响应.

当我们联系亚马逊团队时,他们说这种情况正在发生,因为后端在5秒后关闭了与ELB的连接.

ELB将HTTP-502发送回您的客户,原因如下:

  • 尝试建立连接时,负载均衡器从目标接收到TCP RST.
  • 当负载均衡器对目标有未完成的请求时,目标使用TCP RST或TCP FIN关闭连接.
  • 目标响应格式错误或包含无效的HTTP标头.
  • 使用了新的目标组,但尚未通过初始健康检查.目标必须通过一次健康检查才能被视为健康.

我们试图将应用程序的keep-alive/timeouts设置为大于ELB空闲超时(5分钟),因此ELB可以负责打开和关闭连接.但是,我们仍面临502错误.

JS:

var http = require( 'http' );
var express = require( 'express' );
var url = require('url');
var timeout = require('connect-timeout')

const app = express();

app.get( '/health', (req, res, next) => {
  res.send( "healthy" );
});

app.get( '/api/test', (req, res, next) => {
  var query = url.parse( req.url, true ).query;
  var wait = query.wait ? parseInt(query.wait) : 1;
  setTimeout(function() {
    res.send( "Hello!" );
  }, wait ); …
Run Code Online (Sandbox Code Playgroud)

tcp node.js express elastic-load-balancer

9
推荐指数
1
解决办法
2024
查看次数

在调整浏览器大小时,如何根据div大小触发显示或隐藏操作

我正在为图书出版网站的作者页面设计一个摘要容器.一些作者有更多的摘要内容,而其他作者的内容较少.我想在div容器的高度超过截止高度(180px)时动态启用/禁用显示更多/更少按钮.因此,事实证明动态控制div容器的高度(180px和原始高度).我需要一段在所有浏览器中都能完美运行的代码.

我在这里实现了一个代码:

http://jsfiddle.net/rraagghhu/9dgs6432/3/

HTML:

<div class = "container">
<div class="info-wrapper">
<div class="info">
Chetan Bhagat is the author of six blockbuster books.These include five novels—Five Point Someone (2004), One Night @ the Call Center (2005), The 3 Mistakes of My Life (2008), 2 States (2009), 
Revolution 2020 (2011), the non-fiction title What Young India Wants (2012) and Half Girlfriend (2014). Chetan’s books have remained bestsellers since their release. 
Four out his five novels have been already adapted into successful Bollywood films …
Run Code Online (Sandbox Code Playgroud)

javascript jquery

6
推荐指数
1
解决办法
701
查看次数

HTTP POST如何在Polymer中工作?

我想知道POST调用在Polymer中是如何工作的.我知道我必须使用POST调用来发送敏感信息,例如用户密码和访问令牌.我试过这样做:

<iron-ajax
        id="AjaxPost"
        url="/api/login"
        method="POST"
        content-type="application/x-www-form-urlencoded"
        handle-as="json"
        on-response="_handleAjaxPostResponse"
        on-error="_handleAjaxPostError"
        ></iron-ajax>


this.$.AjaxPost.params = { email: "abc@gmail.com", password: "password" };
this.$.AjaxPost.generateRequest();
Run Code Online (Sandbox Code Playgroud)

但是,这将在URL中设置参数,可以在浏览器控制台中查看,如:

POST http://localhost:8080/api/login?email=abc%40mgail.com&password=password 400 (Bad Request)
Run Code Online (Sandbox Code Playgroud)

PUT方法允许您设置正文中的数据,我认为这更安全.现在我有两个问题:

  1. 我们也可以设置POST方法的主体吗?或者设置参数与设置体相同?
  2. 如果可以,我应该如何在服务器端提取数据?

PS:我们没有使用SSL HTTPS连接.话虽如此,可以合并哪种方法以提高安全性?

post http put polymer

3
推荐指数
1
解决办法
4571
查看次数

单击输入字段时的纸张输入 - 浮动标签

paper-input仅在用户键入第一个字符时才浮动其标签.用户点击标签后是否可以浮动标签?例如,请参阅https://unacademy.in/登录屏幕输入字段.

material-design paper-elements polymer-1.0

2
推荐指数
1
解决办法
963
查看次数