【发布时间】:2020-02-04 04:27:39
【问题描述】:
我将 nginx 反向代理与 docker 一起使用,并希望自动化我的 nginx 配置。 例如,我想告诉我的 java 应用程序一个域/服务器名称(例如 myapp.example.com)和一个后端系统。我的 java 应用程序应该告诉 nginx 配置它。
这可能吗,或者是否有具有该功能的替代反向代理软件。
【问题讨论】:
标签: java api nginx reverse-proxy nginx-config
我将 nginx 反向代理与 docker 一起使用,并希望自动化我的 nginx 配置。 例如,我想告诉我的 java 应用程序一个域/服务器名称(例如 myapp.example.com)和一个后端系统。我的 java 应用程序应该告诉 nginx 配置它。
这可能吗,或者是否有具有该功能的替代反向代理软件。
【问题讨论】:
标签: java api nginx reverse-proxy nginx-config
实现此目的的一种方法是使用两个容器(java 容器和 nginx 容器)都可以访问的共享卷,以及放置 nginx 配置文件的位置。如果 java 不在 docker 中,这也可以工作,那么它只需要访问映射的文件夹。
只要你想更新配置,只需重写它,然后触发 nginx 重新加载。有多种方法可以实现这一目标。最容易使用
docker exec nginx-container-name nginx -s reload
例如通过 Java ProcessBuilder 或很棒的 Java Docker 项目https://github.com/docker-java/docker-java。
注意:如果您在 docker 容器中运行 java,则必须映射容器内的 docker 套接字(例如,使用 shell 中的 -v /var/run/docker.sock:/var/run/docker.sock)。
【讨论】: