这个问题是关于在业务环境中管理/管理服务器软件的,所以我希望它不是题外话。
我们计划将我们的一些网站迁移到在 Synology NAS 上运行的 Docker。但是,在 Docker 中运行的站点具有像 32153 这样的端口号。我们需要能够将特定域映射到特定端口,但看起来好像该站点实际上在端口 80 上运行 HTTP 和 443 用于 HTTPS。
例如,site1
可能在端口下的 docker 中运行,32100
并且可以通过http://10.0.0.1:32100访问。但是,我们希望它可以通过 http(s)://www.mysite1.com:80(:443) 访问。
最后,如果可能的话,我希望这些站点中的每一个都共享相同的 IP 地址。
我考虑过配置反向代理,例如 Windows 上的 IIS Rewrite 模块,但如果可能的话,我更喜欢本机系统方法。
我们如何在 Synology 中或通过标准 Unix 功能启用这种类型的映射?
如果你
事实证明,Synology 有一个内置的反向代理功能,它允许映射主机和端口,正如我在我的问题中描述的那样:
我确信有一种方法可以使用 Unix CLI 来完成所有这些工作,但这解决了我的问题。
nginx/apache 的 Docker 实例在内部运行在端口 80/443 上,但可以映射到主机上的随机端口号。或者您可以将它们映射到端口 80/443。请参阅文档:https ://docs.docker.com/config/containers/container-networking/#published-ports
如果您无法工作,请分享您的配置。