如何将公共域映射到 Synology NAS 上 Docker 中托管的站点?

如何将公共域映射到 Synology NAS 上 Docker 中托管的站点?

这个问题是关于在商业环境中管理/管理服务器的软件,所以我希望它没有偏离主题。

我们计划将部分网站迁移到 Synology NAS 上运行的 Docker。但是,在 Docker 中运行的网站有 32153 这样的端口号。我们需要能够将特定域映射到特定端口,但看起来好像网站实际上是在 HTTP 端口 80 和 HTTPS 端口 443 上运行。

例如,site1可能在 docker 的 port 下运行32100,可以通过以下方式访问http://10.0.0.1:32100。但是,我们希望可以通过 http(s)://www.mysite1.com:80(:443) 访问它。

最后,如果可能的话,我希望这些站点共享相同的 IP 地址。

我考虑过配置一个反向代理,例如 Windows 上的 IIS Rewrite 模块,但如果可能的话,我更喜欢使用本机系统方法。

我们如何在 Synology 中或通过标准 Unix 功能启用这种类型的映射?

如果你

答案1

事实证明,Synology 有一个内置的反向代理功能,它将允许人们映射主机和端口,正如我在问题中描述的那样:

在此处输入图片描述

我确信有办法使用 Unix CLI 完成所有这些操作,但这解决了我的问题。

答案2

nginx/apache 的 Docker 实例在端口 80/443 上内部运行,但可以映射到主机上的随机端口号。或者您可以将它们映射到端口 80/443。请参阅文档:https://docs.docker.com/config/containers/container-networking/#published-ports

如果您无法使某些功能正常工作,请分享您的配置。

相关内容