【问题标题】:How can I control nginx reverse proxy with my java app?如何使用我的 java 应用程序控制 nginx 反向代理?
【发布时间】:2020-02-04 04:27:39
【问题描述】:

我将 nginx 反向代理与 docker 一起使用,并希望自动化我的 nginx 配置。 例如,我想告诉我的 java 应用程序一个域/服务器名称(例如 myapp.example.com)和一个后端系统。我的 java 应用程序应该告诉 nginx 配置它。

这可能吗,或者是否有具有该功能的替代反向代理软件。

【问题讨论】:

    标签: java api nginx reverse-proxy nginx-config


    【解决方案1】:

    实现此目的的一种方法是使用两个容器(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)。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2021-07-22
      • 2021-05-22
      • 1970-01-01
      • 1970-01-01
      • 2020-09-05
      • 2016-01-12
      • 1970-01-01
      相关资源
      最近更新 更多