Docker 作为 Web 服务的代理服务器
Posted
技术标签:
【中文标题】Docker 作为 Web 服务的代理服务器【英文标题】:Docker as a Proxy server for a web service 【发布时间】:2017-06-13 20:14:00 【问题描述】:我的应用与支持代理服务器的网络服务集成。所以我需要进行集成测试来证明它有效。
所以我想用 Docker 创建一个本地代理服务器,我可以运行真正的集成测试来验证我的 web 服务可以通过代理接口调用而没有错误。
所以我尝试了https://github.com/jwilder/nginx-proxy
我启动了容器:
docker run -d -p 80:80 -v /var/run/docker.sock:/tmp/docker.sock:ro jwilder/nginx-proxy
当我使用它时,我得到一个 503 错误503 Service Temporarily Unavailable
我误解了这个代理的作用吗?
【问题讨论】:
我认为这更接近您正在寻找的内容:github.com/sameersbn/docker-squid 这应该是这个问题的答案。它对我有用。 我运行了docker run --name squid -d --restart=always --publish 3128:3128 --volume /srv/docker/squid/cache:/var/spool/squid3 sameersbn/squid:3.3.8-22
我现在可以使用代理主机/端口docker_container.host:docker_container.port(3128)
测试我的Web 服务代理集成
【参考方案1】:
虽然这个问题已经在 cmets 中解决了,但我还是尝试回答以下问题:
我是不是误解了这个代理的作用?
是的。您的项目需要的是正向代理的可用性,而您尝试使用的是反向代理。一旦您在Difference between proxy server and reverse proxy server查看评分最高的答案,这一点就会变得更加清晰
对于 TL;DR 时刻:
有许多可用的转发代理软件。您可以为您的项目选择其中任何一种。其中一些是:
Squid Polipo Apache Traffic Server Privoxy TinyProxy【讨论】:
没错。很棒的信息,我喜欢所有的链接。 24 小时内我会奖励你 50+ 额外的赏金以上是关于Docker 作为 Web 服务的代理服务器的主要内容,如果未能解决你的问题,请参考以下文章