【发布时间】:2018-02-22 15:17:21
【问题描述】:
在主机上,我在端口 4012 上有 docker 容器,而在 docker 容器中,webapp 在端口 3000 ( 0.0.0.0:4012->3000/tcp ) 上运行 所以要访问网络应用程序,我只需转到http://hostname:4012 并且网页显示正常。 我希望能够从我的浏览器转到http://hostname/metrics 运行相同的网页。
虽然我只是通过在主机上的 nginx.conf 中添加一个位置来实现这一点:
位置/指标{
proxy_pass http://localhost:4012;
}
加载的只是 index.html(我在 http://localhost:4012 和 http://hostname/metrics 看到相同的 html 源代码) 但http://hostname/metrics 不会加载运行 web 应用程序所需的 javascript 资产。 从开发人员工具中,我看到非代理站点加载资产,如下所示: http://hostname:4012/assets/styles.css 虽然去 /metrics 的代理版本尝试像这样加载: http://hostname/assets/styles.css
它不会像获取 index.html 那样将 /metrics 附加到资产... 我在这里想念什么? 如果这意味着什么,webapp 运行在 nodejs express 服务器上,监听 docker 容器上的 3000 端口。
【问题讨论】: