gpt4 book ai didi

docker - 如何使来自 docker 容器内部的请求看起来像是来 self 的本地计算机?

转载 作者:行者123 更新时间:2023-12-02 03:28:46 27 4
gpt4 key购买 nike

在 docker 容器中运行的浏览器需要向在我们网络中的测试 API 上运行的登录服务发出 POST。该服务对 POST 的来源非常挑剔,因此它拒绝 POST,因为它来自 host.docker.internal而不是localhost.company.com

我不太可能获得 host.docker.internal添加到白名单。

如果浏览器在我的本地计算机上运行,​​则 POST 将正常工作,但当浏览器在我的本地计算机上的容器内运行时,POST 将失败。

我已经尝试过docker run --add-host='localhost.mycompany.com:127.0.0.1'docker run --add-host='localhost:127.0.0.1' ,都没有工作。后者似乎很愚蠢;这有点像黑暗中的一枪......

可能会更加复杂:浏览器在 Docker 容器内的 testcafe 中运行,因此我的请求将具有类似 'Origin: http://172.17.0.2:1337' 的 header 。 'Referer: http://172.17.0.2:1337/WBrtZV38p/http://host.docker.internal:3000/app/'

除了在本地计算机上创建某种代理之外,有没有办法使 docker 容器中的 POST 看起来像是来 self 的本地计算机?

最佳答案

使用docker run --network host ...在主机操作系统网络空间中启动容器 - 容器将直接在本地计算机的网络中运行。但是您将失去容器网络隔离,因此您应该检查这种方法的安全性。

文档:https://docs.docker.com/network/host/

关于docker - 如何使来自 docker 容器内部的请求看起来像是来 self 的本地计算机?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55542183/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com