当前位置: 首页 > 知识库问答 >
问题:

NGINX反向代理到运行web应用程序的docker容器

勾炳
2023-03-14

在主机上,端口4012上有docker容器,而在docker容器中,webapp运行在端口3000上(0.0.0.0:4012->3000/tcp),因此要访问webapp,只需访问http://hostname:4012,网页显示良好。我希望能够从浏览器转到http://hostname/metrics来运行相同的网页。

它不像获取index.html那样将/metrics追加到资产中...我在这里漏掉了什么?如果有什么意义的话,webapp正在nodejs express服务器上运行,监听docker容器上的端口3000。

共有1个答案

江高飞
2023-03-14

你需要让应用程序这样工作

location /metrics/ {
    proxy_pass http://localhost:4012/;
    sub_filter_once off;
    sub_filter 'http://localhost:4012/' '$scheme://$host/metrics/';
    sub_filter '<head>' '<head>\n<base href="hostname:4012">';
}

因此,向html添加标记有助于将/css更改为/metrics/css。然后使用sub_filter更改绝对URL。

 类似资料:
  • 我有一个部署在野蝇10.1应用程序服务器上的webapp。此webapp被监听:http://localhost:8080/app-profile-jsp/(1) 我成功安装了nginx。服务器已成功安装,我测试提供静态网页和图像。 现在我想配置nginx从“http://www . fri zio . local”(2)URL访问web应用程序。我在/etc/hosts中配置了这个地址。 我在n

  • 问题内容: 我有一个在Docker外部在端口5000上运行的应用程序。我试图通过Dockercompose在nginx中运行反向代理,但无法与主机的端口5000通信。在我的docker-compose.yml文件中,我具有: 当我尝试运行此命令时,我得到: 如果我注释掉,我得到: 如何从Docker Nginx容器连接到主机中已运行的应用程序? 编辑: 我的nginx.conf文件 当我尝试卷曲l

  • 问题内容: 我有以下内容: 执行并运行后,我得到以下信息: 到目前为止,一切似乎都很好。 在我使用如下所示: 所有这些实际上应该做的是: 如果我输入,则容器将转发请求。 如果我输入,则容器将转发请求。 如果我输入,则容器将转发请求。 现在,如果尝试任何操作,我都会得到帮助。 问题答案: 我能够找出解决方案,结果发现它是愚蠢的,没有出现在任何日志中,我很难理解。 以下是更新的文件。 不知道此时是否需

  • 主要内容:1. 代理服务器介绍,2. 将请求传递给代理的服务器,3. 传递请求标头,4. 配置缓冲区,5. 选择传出IP地址本文介绍代理服务器的基本配置。 您将学习如何通过不同协议将NGINX请求传递给代理的服务器,修改发送到代理服务器的客户端请求标头,以及配置来自代理服务器的响应缓冲。 代理服务器的基本配置目录 代理服务器介绍 将请求传递给代理的服务器 传递请求标头 配置缓冲区 选择传出IP地址 1. 代理服务器介绍 代理通常用于在多个服务器之间分配负载,无缝地显示来自不同网站的内容,或者通过

  • Nginx 是一个高性能的 HTTP 和反向代理服务器,代码完全用 C 实现,基于它的高性能以及诸多优点,我们可以把它设置为 hyperf 的前置服务器,实现负载均衡或 HTTPS 前置服务器等。 配置 Http 代理 # 至少需要一个 Hyperf 节点,多个配置多行 upstream hyperf { # Hyperf HTTP Server 的 IP 及 端口 server

  • null /var/lib/docker/volumes/vault_vault_config/_data/vault.json /var/lib/docker/apps/vault-stack.yml Portainer工作良好,但与vault我仍然有问题,我得到404错误。当我转到http://1.2.3.4/Vault时,我会重定向到http://1.2.3.4/UI,而这显然不存在。正如我