问题标签 [jwilder-nginx-proxy]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
0 回答
347 浏览

docker - 具有相同撰写文件但端口不同的几个 docker 堆栈

我想使用同一个 compose 文件同时运行一个多容器应用程序的多个实例。应用程序中的一个容器在某个端口上接受 websocket。

我有一个 nginx 代理来将不同的域或位置转发到应用程序的不同实例。这些实例实际上是使用该应用程序的不同租户。

我希望能够简单地运行:

并且以某种方式获得应用程序的不同端口,然后我可以在代理中使用这些端口将不同的 websocket 连接转发到不同的应用程序实例,无论是使用位置还是虚拟主机。

所以要么:

肯定可以弄清楚如何配置代理来做到这一点。我已经开始阅读一些关于:https://github.com/jwilder/nginx-proxy,这看起来不错。但是,它要求我将虚拟主机名设置为每个应用程序实例的环境变量,并且我似乎找不到使用 docker stack deploy 命令传递参数的方法?

理想情况下,我不想关心确切的端口,它们宁愿是随机的。但是它们需要以某种方式被 nginx 代理知道才能转发。我希望能够轻松地启动一个新的 appinstance(租户)堆栈并为该名称设置代理(或者如果代理可以通过应用程序的命名自动处理它,则更好)。

如果以上两个示例都有效(虚拟主机和位置),则奖励是因为这样可以在不创建子域/新域的情况下进行测试和开发。

建议?

0 投票
2 回答
4755 浏览

docker - 如何在 docker 容器中使用 nginx-proxy 在 ssl 上安全地运行 Gitlab

几天来我一直在与这种配置作斗争,无论我做什么,我都无法让它完全工作。任何人都可以帮助我吗?

我正在使用此处描述的此解决方案:https ://github.com/JrCs/docker-letsencrypt-nginx-proxy-companion它适用于我的所有其他容器,但不适用于 gitlab。使用这种方法,一旦登录绿色挂锁并且文本 Secure 消失并且 https 告诉我,只有 gitlab 登录页面是完全安全的;“您与本网站的连接并不完全安全”。我检查了 gitlab 容器内的日志,它发现 ssl 证书很好,并且没有给出其他错误或表明有问题的迹象。任何人?

文件:启动.up

文件:docker-compose.yml

0 投票
1 回答
1262 浏览

node.js - 日志未通过 Nginx 反向代理(Nginx 配置问题?)

我们有 Node.js 应用程序将日志发送到指向我的 Nginx 反向代理服务器的 URL。

我在 docker 容器中设置了 nginx 反向代理服务器,然后有一组用于 Fluentd、ElasticSearch 和 Kibana 的容器,用于接收、收集和显示这些日志。运行这些容器(包括 nginx 反向代理)的服务器上保持打开的唯一端口是 8080(http)和 443(https)。

正如我已经测试并确认的那样,日志是从应用程序正确生成的。此外,如果我在 docker 容器中没有 nginx 反向代理的情况下进行整个设置,那么一切运行正常。

相同的 nginx 反向代理也被用于代理其他服务器,它们都运行良好。

唯一的问题似乎是 nginx 反向代理设置无法接收 JSON 格式的 Node.js 应用程序日志。但是 Http 和 https 请求正在通过。

我正在使用 LetsEncrypt 自动生成 SSL 证书并相应地自动生成此 nginx 配置。

我在此处附加了我的 nginx 配置文件:

0 投票
1 回答
509 浏览

docker - Rancher、公共子域和 nginx

我正在尝试迁移到Rancher的一些本地服务器上运行完整的 CI 堆栈。

  1. 首先,我使用 docker-compose 在一个节点上创建了以下配置,似乎运行完美(即,我可以通过外部公共子域分别访问每个元素)。
    • jwilder/nginx-代理
    • jrcs/letsencrypt-nginx-proxy-companion:最新
    • 注册表:2.6.2
    • 牧场主/服务器:最新
  2. 现在,我想通过它们各自的外部公共子域访问全新的牧场主堆栈中的一些元素。例如, https://gitlab.example.comhttps://jenkins.example.com。不幸的是,它不起作用。

实际上,当我在创建堆栈时上传以下docker-compose.yml文件时,似乎无法与现有堆栈建立连接,即支持牧场主本身的堆栈,基本上,我无法访问运行良好的服务:

什么是合适的方法?

有关信息,我已经检查了Rancher 外部子域,但在这个阶段,我想使用我的 nginx 服务器作为负载均衡器。

0 投票
2 回答
6717 浏览

ssl - jwilder/nginx-proxy:无法将 ssl 与 Nginx 集成

我们正在努力通过 SSL 设置具有单端口和 jwilder/nginx-proxy 的多个网站托管,我们能够在没有 ssl 的情况下部署解决方案并且它工作正常,但是当我们尝试使用 SSL 将它放在 HTTPs 调用上失败时。我们的 docker-compose 文件如下:

码头工人-compose.yml

PS:“certs”文件夹与 docker-compose 文件保存在同一文件夹中。

使用 openssl 使用自签名证书

文件夹结构如下:

请提出问题的可能原因和解决方案。

docker ps 的输出:

0 投票
1 回答
684 浏览

docker - 用于域的 Docker SSL

我正在尝试使用域为 Docker 运行 SSL。我在docker-compose.yml我的项目中使用以下内容:

我也在jwilder/nginx-proxy使用以下docker-compose.yml文件:

问题是这样的:

我的 nginx 配置文件如下所示:

如何设置它以使其在https://newdocker.app/没有端口的情况下使用?

0 投票
1 回答
618 浏览

mysql - 服务器重启后按顺序重启 Docker 容器

每当服务器重新启动时,需要自动重新启动 3 个 docker 容器。

我们可以使用重启策略来启动容器,例如

但是因为一个容器是链接到另一个容器的,所以它们需要按顺序启动。

问题:有没有办法按顺序自动重启Docker容器?

0 投票
1 回答
687 浏览

docker - 无法从 nginx 创建文件到 docker-gen

我正在使用jwilder/nginx-proxy以便在我的 domain.tld 中有一个项目,在 api.domain.tld 中有一个项目。我按照本教程进行操作,但我的 custom 遇到了问题default.conf。首先,我正在运行我的项目中的图像

然后我正在运行 nginx-proxy:

但我收到以下错误:

default.conf文件:

我的主站点是在 Laravel 中实现的。

我有点困惑,因为我在谷歌和 GitHub 问题中都找不到任何相关信息。

我的default.conf文件有问题还是我没有正确设置容器?

谢谢你。

0 投票
1 回答
1695 浏览

docker - Nginx 反向代理:使用 jwilder/nginx-proxy 为 gitlab 容器设置正确的端口

我需要使用 nginx 反向代理。因此我使用jwilder/nginx-proxy. Also I'm using gitLab as a docker container. So I came up with this docker-compose file, but accessing ci.server.com gives me a502 Bad Gateway` 错误。

我需要一些帮助来为这个 docker 容器设置正确的端口

在切换到 nginx 反向代理之前,我使用了这个 docker-compose 设置,它正在工作。而且我没有通过“转换”这个来获得差异或错误。

老的

0 投票
0 回答
1761 浏览

laravel - Nginx 代理和 Docker 不适用于 Laravel

我在 Laravel 中有一个网站,在 Node.js 中有一个 API。我想将网站托管到 domain.tld 并将 API 托管到 api.domain.tld。首先,我为 Laravel 项目制作了一个 Dockerfile:

按照本教程,我开始nginx-proxy像这样

并启动我网站的容器:

根据教程,这应该可以工作,但事实并非如此。我还尝试为代理设置我的自定义配置文件,它的服务器类似于我在 /etc/nginx/sites-available/domain.tld 中的配置文件

docker_proxy.conf 文件:

但它也没有奏效。这会抛出 404,我相信这是因为我没有将 root 属性设置为配置文件,但是当我将网站的卷设置为 nginx-proxy 容器并将其设置为 root 时,我收到 502 并出现以下错误信息:

我做错了什么?

谢谢。