Tag: 反向代理

使用nginx-proxy容器(如前端服务器)访问同一主机上的多个容器时出现错误503

解决scheme在: https : //serverfault.com/questions/880212/error-503-when-using-nginx-proxy-container-like-a-front-end-server-to-access-mul 我希望能够访问包含Web应用程序的同一个主机上的多个容器。 当我想访问主机(通过他的IP地址)或容器(例如通过host_ip_adress /容器1),我得到了来自Nginx的503错误。 我想要的是通过ip_addrress_host / container1访问我的container1。 我在网上find的解决scheme是设置一个nginx代理前端服务器(来源: https : //blog.florianlopes.io/host-multiple-websites-on-single-host-docker/ ) 我的docker – 撰写文件: version: '2' services: nginx-proxy: image: jwilder/nginx-proxy ports: – "80:80" volumes: – /var/run/docker.sock:/tmp/docker.sock site_a: image: php:7.0-apache expose: – "80" environment: – VIRTUAL_HOST=192.168.12.28/container1 – VIRTUAL_PORT=80 volumes: – ./php:/var/www/html site_b: image: php:7.0-apache expose: – "80" environment: – VIRTUAL_HOST=192.168.12.28/container2 – VIRTUAL_PORT=80 […]

dockerNginx的反向代理没有错误,但得到空的有效负载返回

我没有运气在我的Java / tomcat应用程序,它可以在端口8080上正常工作,把一个裸骨头nginx反向代理。 我的浏览器收到一个空的响应,我看不到在服务器上的日志logging或错误。 这是我的nginx Dockerfile: FROM nginx COPY nginx.conf /etc/nginx/nginx.conf EXPOSE 10040 CMD ["nginx"] 和我的nginx.conf来自nginx -T $ docker run -p 10040:8080 –name rproxy –rm we1p2xxxxxxx.xxx.xx.com:11095/myapp-rproxy nginx -T nginx: the configuration file /etc/nginx/nginx.conf syntax is ok nginx: configuration file /etc/nginx/nginx.conf test is successful # configuration file /etc/nginx/nginx.conf: daemon off; error_log /dev/stdout info; worker_processes 1; events […]

尝试连接到节点应用程序作为反向代理时,Nginx连接被拒绝

我试图用Docker容器构build一个web应用程序,并且在尝试运行Nginx作为我的节点应用程序的反向代理时,连接被拒绝。 我不知道这是一个nginx服务器configuration问题或docker-composeconfiguration问题。 [error] 5#5: *1 connect() failed (111: Connection refused) while connecting to upstream, client: 172.20.0.1, server: foo.com, request: "GET / HTTP/1.1", upstream: "http://127.0.0.1:7770/", host: "foo.com" 当遇到foo.com时,我得到这个错误,奇怪的是我的应用程序在端口号被引用时工作,所以foo.com:7770运行应用程序。 我的nginx服务器configuration: server { listen 80; server_name foo.com; port_in_redirect off; autoindex on; location / { proxy_pass http://127.0.0.1:7770; proxy_redirect off; proxy_http_version 1.1; proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection 'upgrade'; proxy_set_header Host […]

如果我在Docker容器中运行Node.js,是否需要反向代理?

我已经阅读了一些推荐在Node.js应用程序之前使用反向代理(比如nginx )的文章(就像那个: 在Node.JS之前的反向代理的优点 )。 比起运行Node.js本身并暴露它更好(至less在安全性方面)。 但是,在Docker容器中运行Node.JS应用程序应该可以防止安全问题(因为应用程序在容器中运行,并与主机系统隔离)。 所以,我的问题是:在Docker容器中运行Node.js应用程序时使用反向代理是否有好处? 如果是的话,它如何改善我的申请?

在本地 – 在Nginx容器上使用代理到Node Express容器的React App

这应该是非常简单,但看起来像我失去了一些非常基本的东西,任何帮助将不胜感激。 我在本地MacBook上运行POC。 基本的想法是使用create-react-app build脚本build React应用create-react-app并将其部署到本地的nginx-alpine容器中。 我能够做到这一点。 我能够访问index.html,看看我应该看到什么时候客户端容器正在运行。 我有一个运行在同一台本地机器上的node-express后端,它使用一个node docker镜像站立起来。 我能够设置这个,我能够击中这些图像从我的浏览器提供的端点。 问题是,我内部的api这些高端的端点叫做什么。 我已经在我的nginx.conf设置了proxy_pass ,并尝试了很多方法来设置它。 没有一个工作。 我已经尝试使用localhost ,累了使用127.0.0.1 ,尝试使用docker容器的IP地址,尝试使用docker service name ,尝试将其设置为我的nginx.conf upstream ,试图直接在proxy_pass使用后端URL。 没有任何工作 这里是代码… http://localhost/ – >加载用户界面 http://localhost:3001/features – >返回我需要在UI上使用的JSON负载 http://localhost/admin – >是我的用户界面上的一个组件,它使用fetch API来加载path/features 。 nginx.conf upstream app_servers { server localhost:3001; } # Configuration for the server server { # Running port listen 80; root […]

独angular兽服务器与Galera群集之间的反向代理

我想用Docker做一个架构部署系统。 我有一个与独angular兽沟通的铁路竞争者,他与一个nginx竞争者沟通,在两个系统中我也有两个galera集群。 我想使加莱拉集群与rails应用程序通信,但是我不知道我需要哪个反向代理。 我testing了一个MySQL代理,但我不知道这是否是最好的解决scheme。 编辑:我认为最好的解决scheme是HAproxy。 http://www.severalnines.com/mysql-load-balancing-haproxy-tutorial

IIS反向代理到虚拟专用IP

我正在尝试使用IIS 7.5将特定端口上的代理传入请求反转到绑定到VirtualBox虚拟机专用IP上的端口的Docker容器,以便我的应用程序可以访问局域网上的外部主机。 请假定以下几点: 我在Windows 7中运行Docker与b2d图像 docker machine收到一个虚拟的私人IP地址,例如192.168.99.100 ,这只能parsing主机。 我有一个在rabbitmq:3-management映像上构build的容器,pipe理门户绑定到我的虚拟机的默认网关上的端口32771 我希望通过networking向http://mymachine:32771发送请求,以通过IIS 7.5为我的虚拟机中的端口32771反向代理,并显示RabbitMQpipe理门户,如果我导航到http:192.168.99.100:32771 任何人都可以告诉我的入站和出站重写规则的例子,我需要做到这一点? 这是我迄今为止基于我在IIS反向代理上find的稀疏样本而尝试的,并且将其放在我的inetpub/wwwroot的web.config中,但规则不适用(即使在iisreset ) 请注意,在我的configuration下面,我正在寻找RP包含“兔/” – 不是特定的端口 – 但它不代理任何请求。 编辑:[注意]我也试过http://rabbit.(my-machine-name?)(/+?.*)?$|(.*)/rabbit(/+?.*)?$捕获任何东西来到我的机器上的rabbit. 子或者/rabbitpath。 我validation了捕获规则,但RP仍然没有代理。 <rewrite> <rules> <rule name="RP requests for Rabbit to virtual private IP" stopProcessing="false"> <match url="(.*)rabbit/(.*)" /> <conditions> <add input="{CACHE_URL}" pattern="^(https?)://" /> </conditions> <action type="Rewrite" url="{C:1}://192.168.99.100:32771/{R:1}" /> <serverVariables> <set name="HTTP_ACCEPT_ENCODING" value="" /> </serverVariables> </rule> </rules> […]

Docker撰写networking:nginx中的主机名不parsing

我试图迁移我的堆栈使用版本2的docker-compose.yml,并遇到networking主机名未被nginx解决的问题。 我的堆栈包含一个nginx反向代理(在debian上:wheezy),它通过其他几个软件组件来提供安全内容,我不会详细讨论(参见下面的configuration)。 在版本1 yaml中,我使用docker链接的环境variables和LUA脚本一起将它们插入到nginx.conf(使用nginx-extras)中。 这在Docker容器的前面作为一个反向代理完美运行。 在版本2 yaml中,我使用由dockernetworking生成的主机名。 我能够成功地从容器内ping这些主机名,但是nginx无法解决它们。 2016/05/04 01:23:44 [error] 5#0: *3 no resolver defined to resolve ui, client: 10.0.2.2, server: , request: "GET / HTTP/1.1", host: "localhost" 这是我目前的configuration: 泊坞窗,compose.yml: version: '2' services: # back-end api: build: . depends_on: – db – redis – worker environment: RAILS_ENV: development ports: – "3000:3000" volumes: – ./:/mmaps […]

启动Docker容器来处理HTTP请求

我正在构build一个Web应用程序,供用户pipe理项目中的文件。 每个用户可以有多个项目,每个项目可以有多个文件。 我已经实现了这个使用Docker,其中每个项目是一个Docker卷。 当用户单击Web应用程序界面中的button修改其项目中的文件时,Web服务器configuration并启动一个工作者(这是另一个Docker实例)来修改Docker卷中的文件。 迄今为止,这一切都很好。 但是,现在我想通过HTTP提供这些项目文件。 我想到的策略是: Web服务器(如nginx)接受来自用户的传入HTTP请求 Web服务器检查传入请求以确定正在请求哪个项目。 例如,如果URL是sparkle-pony.myapp.com ,那么我们知道正在请求sparkle-pony项目。 如果这个项目不存在,nginx响应404 Not Found响应。 Web服务器还检查用户是否已login,以及login的用户是否有权查看项目。 否则,Web服务器将响应403 Forbidden HTTP响应。 Web服务器configuration并启动一个新的Docker容器,可能是另一个nginx进程。 部分configuration包括将正确的Docker卷安装到新容器上。 我们将这个新启动的容器称为“内部”容器,将现有容器称为“外部”容器。 外部容器将这个HTTP请求转交给内部容器,或者作为内部容器响应的代理。 内部容器可以访问项目的正确Docker卷,并确保请求用户拥有正确的权限,从而检查URLpath并从D​​ocker卷提供正确的项目文件。 请求被妥善处理后,内部容器closures。 所以,尽pipe如此,我有三个问题: 这是一个合理的策略? 它确实涉及启动一个新的Docker容器为每个传入的HTTP请求,但我认为没关系… 将HTTP请求从一个容器转交给另一个容器的最佳方式是什么? 还是外部容器必须代理来自内部容器的响应? 有人可以提供一些指针或如何设置这样的项目的例子? 有可能是我还不知道的一些工具或技术。 谢谢!

503服务暂时不可用gitlab docker和nginx-proxy docker

描述: 我已经设置了nginx-proxy容器 ,这对我的两个docker容器中的一个非常有用。 这只是dev.MY_IP_ADDRESS.com上的迷你Go Web服务器。 我已经为我的gitlab docker容器设置了它,并且在MY_IP_ADDRESS.com:10080上运行,但似乎没有与gitlab.MY_IP_ADDRESS.com 我已经完成了与我的Web服务器相同的configuration,通过添加一个环境variables进行设置: gitlab: #other configs here environment: – VIRTUAL_HOST=gitlab.MY_IP_ADDERSS.com #more configs here 唯一的区别是我在同一个docker-compose.yml设置了我的go服务器和nginx-proxy服务器,而gitlab使用不同docker-compose.yml文件。 不确定这是否与此有关。 我已经尝试了docker-compose up以不同的顺序docker-compose up每个文件,看看是否是一个问题。 错误: 这是当我去gitlab.MY_IP_ADDRESS.com时得到的: 503服务暂时不可用 nginx的/ 1.11.8 题: 为什么不是gitlab.MY_IP_ADDERSS.com为gitlab.MY_IP_ADDERSS.com工作的反向代理? 某处有冲突吗? 它在MY_IP_ADDRESS.com:10080上MY_IP_ADDRESS.com:10080 如果需要任何日志或任何更多的信息让我知道。 谢谢。