小编vjj*_*jjj的帖子

nginx 中的 X-Real-IP 标头混淆

我的 nginx 配置是 -

    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    proxy_set_header X-Real-IP $remote_addr;
    set_real_ip_from 55.55.55.1;
    real_ip_header X-Forwarded-For;
    real_ip_recursive on;
Run Code Online (Sandbox Code Playgroud)


我想知道我是否正确理解了这个配置。假设用户有一台机器 -

1. 在 ip 11.11.11.11
2. 用户在具有 IP 的代理后面22.22.22.22
3. 用户发送请求,到达负载均衡器55.55.55.1,负载均衡器将其路由到 nginx。

然后,一旦 nginx 完成其工作,请求将具有以下到达服务器的标头 -
a. X-Forwarded-For: [11.11.11.11, 22.22.22.22, 55.55.55.1]
X-Real-IP: 22.22.22.22(因为 nginx 会X-Forwarded-For从数组的末尾递归到数组的开头,并找到第一个不受信任的 ip)
c. 如果X-Forwarded-For请求中不存在,则$remote_addrX-Real-IP标头中使用 value ,否则通过在X-Forwarded-For标头数组上递归覆盖,考虑set_real_ip_from规则。

请让我知道点“a”、“b”和“c”是否正确。如果不正确,我想知道原因是什么?

header nginx ip-address identification

8
推荐指数
0
解决办法
6735
查看次数

NPM无法正常工作(无法找到模块'internal/fs' - nodejs)

更新时的NPM错误.我最近更新到Node版本7.x. 现在npm不工作了.

我无法找到错误,可能是由于 -
npm ERR! Cannot find module 'internal/fs'.

我跑步时得到以下内容sudo npm update -g-

npm ERR! Linux 3.13.0-101-generic
npm ERR! argv "/usr/bin/nodejs" "/usr/bin/npm" "update" "-g"
npm ERR! node v7.1.0
npm ERR! npm  v3.10.8
npm ERR! code MODULE_NOT_FOUND

npm ERR! Cannot find module 'internal/fs'
npm ERR! 
npm ERR! If you need help, you may report this error at:
npm ERR!     <https://github.com/npm/npm/issues>
Run Code Online (Sandbox Code Playgroud)

/etc/profile.d/nodejs.sh的内容如下:

NODE_PATH=/usr/lib/nodejs:/usr/lib/node_modules:/usr/share/javascript
export NODE_PATH
Run Code Online (Sandbox Code Playgroud)

javascript node.js npm npm-install

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

播放视频的最佳块大小

我正在实现一个应用程序的服务器端,它将为客户端提供视频。我的视频流的工作方式是浏览器以开放式格式要求视频文件的一部分,例如。它说 - 从字节# 30456 开始发送 video.mp4(假设每个视频是 100*1024*1024 字节(100 MB))。浏览器向服务器发出多个这样的请求。

问题:如何计算每个此类请求应提供的视频数据的最佳大小?

假设我的服务器将在 100Mbps 网络上运行,我需要同时为 50k 客户端提供服务。

video optimization node.js server

5
推荐指数
0
解决办法
616
查看次数

制作一个完全透明的textarea

我可以通过执行以下操作使 textarea 的背景和边框(部分)透明 -

<textarea id="one" style="background-color: rgba(0, 0, 0, 0); border-color: rgba(0, 0, 0, 0)">
</textarea>
Run Code Online (Sandbox Code Playgroud)

但是,textarea 的右下角仍然有几条斜线,我无法删除!此外,当 textarea 处于焦点时,textarea 的边框会重新出现

如何制作一个完全透明的textarea?

html javascript css jquery

4
推荐指数
1
解决办法
3338
查看次数

查询DSL中的完整形式的"DSL" - 弹性搜索

对于这个人,我可能会被贬低为死亡,但无论如何我都会试试运气.

我真的找不到任何链接,弹性搜索查询的DSL"DSL"的完整形式,甚至没有在弹性搜索网站在这里!

(只是为了让事情变得有趣,链接(上图)讨论另一个无法解释的缩写"AST" - 查询的AST!)

elasticsearch

4
推荐指数
1
解决办法
1920
查看次数

Elastic Search 使用另一个字段值对具有相同分数的文档进行排序

我正在使用弹性搜索,我想根据更高数量的 - “喜欢”字段 - 存储在所有文档中的整数类型,对与下面显示的查询具有相同分数的文档进行排序。代码 -

query: {
                multi_match: {
                        query: "some cooler",
                        type: "most_fields",
                        fields: ["info1", "info2", "info3"]
                }
        }
Run Code Online (Sandbox Code Playgroud)

sorting elasticsearch

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

使用全局对象vs Redis(nodejs)

我打算在服务器上使用nodejs - 12个内核,64 GB RAM.

如果我有这样的物体 -

obj= {x1: [user1_id, user2_id, user4_id, user89_id, user541_id],
      x2: [user55_id, user44_id, user3_id, user89_id, user132_id],
      .... }
Run Code Online (Sandbox Code Playgroud)

问题:在obis中存储obj而不是在全局对象中存在什么意义?(按比例,我希望有大约300,000个密钥,每个密钥平均有5个元素)
(obj的持久性不是问题)

问题:nodejs进程的最大堆大小允许什么?

javascript heap performance redis node.js

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

在 ubuntu 中启动 Elasticsearch 服务器失败

(我是弹性搜索的新手)

我想将弹性搜索作为服务启动(sudo service elasticsearch start),但它不会启动,也没有说明为什么它也不会启动,只是说-

Starting Elasticsearch Server [fail]

我尝试了以下更改但没有成功!

  1. es.logger.level: INFO to es.logger.level: DEBUG and es.logger.level: TRACE在 var/log/elasticsearch 中的日志文件中没有看到任何内容,分别更改了!

  2. ES_HEAP_SIZE= 1024 and ES_HEAP_SIZE= 512usr/share/elasticsearch/bin/elasticsearch文本文件中分别添加,仍然 -
    Starting Elasticsearch Server [fail]

我没有尝试更改配置文件中的任何内容etc/elasticsearch/elasticsearch.yml- 是否需要更改此文件的设置才能使 elasticsearch 作为服务在 ubuntu 中工作?

ubuntu elasticsearch

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

如何在 JSX div 的 id 中添加 if 条件?

我想像这样更改 jsx 中 div 的 id :-

{ ['A','B','C','D'].map((element, cell) => (
    <div id="alphabet_if({element}==='A'){'ok'}else{ {element} }">
        Some
    </div>
)) } 
Run Code Online (Sandbox Code Playgroud)

但这导致

{ ['A','B','C','D'].map((element, cell) => (
    <div id="alphabet_if({element}==='A'){'ok'}else{ {element} }">
        Some
    </div>
)) } 
Run Code Online (Sandbox Code Playgroud)

javascript browser frontend jsx reactjs

-1
推荐指数
1
解决办法
52
查看次数