【问题标题】:Obtain client IP in docker in azure container在 azure 容器中的 docker 中获取客户端 IP
【发布时间】:2018-10-27 06:08:59
【问题描述】:

有没有人可以帮我从运行在 Azure 容器实例上的 docker 容器获取用户客户端 IP?

我的代码只获取某些东西的本地 IP,我猜它是反向代理。 所以ip是10.240.255.106; 是标头我也有主机 IP(公共容器 IP),但仅此而已。 标题

{"Cache-Control":["max-age=0"],"Connection":["keep-alive"],"Accept":["text/html,application/xhtml+xml,application/ xml;q=0.9,image/webp,image/apng,/;q=0.8"],"Accept-Encoding":["gzip, deflate"],"Accept-Language":["en-US,en;q=0.9,ru-RU;q=0.8,ru;q=0.7"],"Host":["23.99.249.54"], "用户代理":["Mozilla/5.0 (Macintosh;英特尔 Mac OS X 10_14_0)AppleWebKit/537.36(KHTML,如 壁虎)铬/69.0.3497.100 Safari/537.36"],"Upgrade-Insecure-Requests":["1"],"DNT":["1"]}

有没有办法获取真实的客户端 IP?

【问题讨论】:

  • 我真的不知道你说的客户端IP是什么意思?
  • 对不起。这是 asp.net 核心 Web API。我需要获取用户IP

标签: azure azure-container-instances


【解决方案1】:

不,ACI 不保留客户端 IP。 您可以在用户语音中创建功能请求。 https://feedback.azure.com/forums/602224-azure-container-instances?filter=top&page=1

【讨论】:

    【解决方案2】:

    在控制器动作内的asp.net核心中获取客户端IP:

    var ip = Request.HttpContext.Connection.RemoteIpAddress;
    

    【讨论】:

    • 是的。没错。但不幸的是,在 azure container(docker) 内部,您将获得容器的 ip。
    • 你可以在运行容器时传递参数--network host,使其在主机网络上而不是在 NAT 上运行吗?
    • 不幸的是没有。他们不允许指定网络设置。或者我不知道该怎么做。
    猜你喜欢
    • 1970-01-01
    • 2021-08-04
    • 2016-07-14
    • 1970-01-01
    • 2016-10-07
    • 2015-06-06
    • 2020-11-10
    • 1970-01-01
    • 2016-03-04
    相关资源
    最近更新 更多