繁体   English   中英

如何使用我的 java 应用程序控制 nginx 反向代理?

[英]How can I control nginx reverse proxy with my java app?

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

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

实现此目的的一种方法是使用两个容器(java 容器和 nginx 容器)都可以访问的共享卷,以及 nginx 配置文件所在的位置。 如果 java 不在 docker 中,这也可以工作,那么它只需要访问映射的文件夹。

每当您想更新配置时,只需重写它,然后触发 nginx 重新加载。 有多种方法可以实现这一目标。 最容易使用

docker exec nginx-container-name nginx -s reload

eg via Java ProcessBuilder or the awesome Java Docker Project https://github.com/docker-java/docker-java .

Note: If you run java inside a docker container you have to map the docker socket inside the container (eg using -v /var/run/docker.sock:/var/run/docker.sock from shell).

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM