V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
NGINX
NGINX Trac
3rd Party Modules
Security Advisories
CHANGES
OpenResty
ngx_lua
Tengine
在线学习资源
NGINX 开发从入门到精通
NGINX Modules
ngx_echo
FutureApple
V2EX  ›  NGINX

如何实现后端服务器-----反代服务器-------CDN 这三层后后端服务器还能获取源站 ip 的架构?

  •  
  •   FutureApple ·
    iLoveElysia · 2021-04-13 19:23:47 +08:00 · 1930 次点击
    这是一个创建于 1080 天前的主题,其中的信息可能已经有所发展或是发生改变。

    服务器转的 nginx,aws 的,但是由于延迟太高用一台 cdn2 的服务器反向代理了一下,代理服务器再套 CDN,现在后端服务器获取到的 ip 是反向代理服务器的,如何正确的获取到访客 ip ?

    9 条回复    2021-04-14 17:02:31 +08:00
    catchexception
        1
    catchexception  
       2021-04-13 19:26:16 +08:00
    要一层一层把 IP 保留下来。。。要么客户端主动获取 IP 放请求头里。。。
    EPr2hh6LADQWqRVH
        2
    EPr2hh6LADQWqRVH  
       2021-04-13 19:28:20 +08:00
    X-Forwarded-For
    dzdh
        4
    dzdh  
       2021-04-13 20:04:38 +08:00
    nginx proxy_protocol
    FutureApple
        5
    FutureApple  
    OP
       2021-04-13 22:21:06 +08:00
    @dzdh #4
    @ETiV #3
    @avastms #2
    @catchexception #1 能给一下详细的实践方案吗?直接这样子有点不会弄
    dzdh
        6
    dzdh  
       2021-04-13 22:22:27 +08:00
    akira
        7
    akira  
       2021-04-13 22:43:46 +08:00
    cdn 一般都会提供技术文档,说明原始 ip 放哪个 header 里面了,照着往后面传递就好了
    Rocketer
        8
    Rocketer  
       2021-04-14 09:25:19 +08:00 via iPhone
    标题写反了,“源站”是 CDN 后端服务器的意思
    jenlors
        9
    jenlors  
       2021-04-14 17:02:31 +08:00
    X-Forwarded-For 会一层一层把各层服务器的 IP 加在后面,用逗号分隔开,你只需要在应用里面取逗号分隔的第一个 IP 就行了
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   957 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 28ms · UTC 21:38 · PVG 05:38 · LAX 14:38 · JFK 17:38
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.