remote_ip和peer之间有什么区别?

k

我正在写一个插件,将访问日志放入文件中,例如普通的Web服务器。作为客户端IP地址的数据源,connremote_ippeer我应该使用哪个,它们之间有什么区别?

是否有任何文档描述其中的每个实体conn

另外,我的插件就像以下片段一样,从Elixir / Phoenix的角度来看,这自然吗?

Logger.info(
  Enum.join([
    "type:" <> "request",
    "remoteip:" <> Enum.join(Tuple.to_list(conn.remote_ip), ","),
    "method:" <> conn.method,
    "path:" <> conn.request_path,
    "status:" <> to_string(conn.status),
    "size_res:" <> to_string(byte_size(to_string(conn.resp_body))),
  ], ",")
)
气体

Plug.Conn文档中:

peer-连接的实际TCP对等方,例如:{{127,0,0,1},12345}。通常,这不是客户端的实际IP和端口,而是负载平衡器或请求路由器。

remote_ip-客户端的IP,例如:{151、236、219、228}。该字段将被理解例如X-Forwarded-For标头或HAProxy的PROXY协议的插件覆盖。默认为对等方的IP。

如果您使用的是负载均衡器(例如http://docs.aws.amazon.com/ElasticLoadBalancing/latest/DeveloperGuide/x-forwarded-headers.html),则peerIP地址将指向负载均衡器而不是客户端。负载平衡器在标头(X-Forwarded-For适用于AWS)中提供客户端的实际IP地址,该标头将存储在Plug.Conn结构中remote_ip

另请参阅https://tools.ietf.org/html/rfc7239

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

CoffeeScript,=>和->之间有什么区别

来自分类Dev

(for ... in)和(for ... of)语句之间有什么区别?

来自分类Dev

R和with之间有什么区别?

来自分类Dev

R和with之间有什么区别?

来自分类Dev

$ @和“ $ @”之间有什么区别吗?

来自分类Dev

Python:“ is”和“ ==”之间有什么区别?

来自分类Dev

“ ./”和“ ../”之间有什么区别?

来自分类Dev

not null和<>''之间有什么区别

来自分类Dev

之间有什么区别。和.data?

来自分类Dev

〜和/在路径之间有什么区别

来自分类Dev

线程和之间有什么区别

来自分类Dev

([])+ 和 []+ 之间有什么区别?

来自分类Dev

ifdown和“ ip link set ..down”之间有什么区别?

来自分类Dev

什么是Haskellng?“ haskellPackages”和“ haskellngPackages”之间有什么区别?

来自分类Dev

“”和“之间有什么区别?” 和 ”!” 在Swift中?

来自分类Dev

之间有什么区别?

来自分类常见问题

git命令中的“ origin”和“ remote”有什么区别?

来自分类Dev

实体和聚合之间的UML有什么区别?

来自分类Dev

dart:js和js包之间有什么区别?

来自分类Dev

分类和预测之间有什么区别?

来自分类Dev

活动和片段之间有什么区别?

来自分类Dev

“中断合并”和“ Nagle算法”之间有什么区别?

来自分类Dev

cudaDeviceScheduleBlockingSync和cudaDeviceScheduleYield之间有什么区别?

来自分类Dev

表格的大小和高度/宽度之间有什么区别?

来自分类Dev

pdb中“ next”和“ until”之间有什么区别

来自分类Dev

声明性区域和范围之间有什么区别

来自分类Dev

sep和end in print功能之间有什么区别?

来自分类Dev

分支节点和决策节点之间有什么区别?

来自分类Dev

loadfile,require和import之间有什么区别

Related 相关文章

  1. 1

    CoffeeScript,=>和->之间有什么区别

  2. 2

    (for ... in)和(for ... of)语句之间有什么区别?

  3. 3

    R和with之间有什么区别?

  4. 4

    R和with之间有什么区别?

  5. 5

    $ @和“ $ @”之间有什么区别吗?

  6. 6

    Python:“ is”和“ ==”之间有什么区别?

  7. 7

    “ ./”和“ ../”之间有什么区别?

  8. 8

    not null和<>''之间有什么区别

  9. 9

    之间有什么区别。和.data?

  10. 10

    〜和/在路径之间有什么区别

  11. 11

    线程和之间有什么区别

  12. 12

    ([])+ 和 []+ 之间有什么区别?

  13. 13

    ifdown和“ ip link set ..down”之间有什么区别?

  14. 14

    什么是Haskellng?“ haskellPackages”和“ haskellngPackages”之间有什么区别?

  15. 15

    “”和“之间有什么区别?” 和 ”!” 在Swift中?

  16. 16

    之间有什么区别?

  17. 17

    git命令中的“ origin”和“ remote”有什么区别?

  18. 18

    实体和聚合之间的UML有什么区别?

  19. 19

    dart:js和js包之间有什么区别?

  20. 20

    分类和预测之间有什么区别?

  21. 21

    活动和片段之间有什么区别?

  22. 22

    “中断合并”和“ Nagle算法”之间有什么区别?

  23. 23

    cudaDeviceScheduleBlockingSync和cudaDeviceScheduleYield之间有什么区别?

  24. 24

    表格的大小和高度/宽度之间有什么区别?

  25. 25

    pdb中“ next”和“ until”之间有什么区别

  26. 26

    声明性区域和范围之间有什么区别

  27. 27

    sep和end in print功能之间有什么区别?

  28. 28

    分支节点和决策节点之间有什么区别?

  29. 29

    loadfile,require和import之间有什么区别

热门标签

归档