将 GoDaddy 子域名转发到同一服务器上的不同端口(反向代理)

将 GoDaddy 子域名转发到同一服务器上的不同端口(反向代理)

情况是这样的:我通过 GoDaddy(Jbc.ca)购买了一个域名,由于我有一个动态 IP 地址(但是它不会经常更改 - 所以理论上我可以将它直接转发到我的 IP 地址),因此 GoDaddy 目前将其转发到我的无 IP 域名。

现在情况变得稍微复杂了一点。我在端口 80 上运行一个 Web 服务器 (Apache),当您访问 (jbc.ca) 时会显示该服务器。我还在同一个系统上运行了其他几个服务:Plex- 端口 32400;Tautulli 在端口 7777;Ombi 在端口 5000;Lidarr 在端口 8686,Remotely Anywhere PC Access 在端口 7000 和一个单独的 Web 服务器 (Microsoft IIS 在端口 9024)。

目前,要访问除端口 80 之外的任何服务,我必须执行以下操作:“http://Jbc.ca:端口#“;例如,要访问 Ombi,我必须输入http://jbc.ca:5000

我希望我的域名的每个端口都有子域名 - 例如 ombi.jbc.ca 理论上会在服务器上加载端口 5000,但会显示 ombi.plex.ca,而不是重定向和公开端口号。Ra.jbc.ca 将加载端口 7000,依此类推...

我已读到,这可以通过 apache 或 nginx 的反向代理来完成(因为我在主服务器上运行 mamp pro)以及 IIS,但是我不知道如何完成此操作,需要在服务器上更改/添加什么,哪个服务器最适合完成此操作以及我必须在我的 GoDaddy 域上修改什么。

希望有人能帮助我,因为我现在完全不知所措。

提前致谢。

答案1

这本质上是一个由两部分组成的过程。您需要在 DNS 中创建子域本身(例如使用 GoDaddy),然后创建执行实际代理的 Apache 虚拟主机条目。

DNS

假设您希望这些域名公开可用(即在您的本地网络之外),您需要通过 GoDaddy 的界面创建所有相关子域名。因此,您需要创建:

例如 GoDaddy 子域名

  • plex.jbc.ca
  • tautulli.jbc.ca
  • ombi.jbc.ca
  • lidarr.jbc.ca
  • ra.jbc.ca
  • iis.jbc.ca

当然,这些只是示例。实际的子域可以遵循您喜欢的任何命名方案。但是,ombi.plex.ca(可能是印刷错误?)在这种情况下是不可能的,除非你拥有plex.ca领域 (ombi.plex.jbc.ca应该没问题。

唯一可能的缺点是,你可能需要为每个子域名使用包含你实际 IP 的 A 记录(设置方式与主域名类似)jab.ca域名可能无法正常工作)。

Apache 虚拟主机

实际的反向代理管理由 Apache 在虚拟主机对于每个子域。

举例来说,Plex 的最小虚拟主机可能如下所示:

例如 Apache 虚拟主机

<VirtualHost *:80>

    ServerName plex.jbc.ca
    # ServerAlias Unneeded.for.this.example
    # DocumentRoot "C:/Unneeded/for/this/example"

    # Redirect basic requests to our Plex service.
    # This should work for logging in.

    ProxyPass / http://10.0.0.1:32400/
    ProxyPassReverse / http://10.0.0.1:32400/

    # Plex redirects us after logging in, so we need an
    # additional set of entries to handle the main Plex
    # interface.

    ProxyPass /web http://10.0.0.1:32400/web
    ProxyPassReverse /web http://10.0.0.1:32400/web

</VirtualHost>

在上面的例子中,10.0.0.1应该替换为托管服务的服务器的本地 IP。

值得一提的是mod_proxy需要在 和 中启用(取消注释)才能httpd.conf正常ProxyPass工作ProxyPassReversemod_proxy还有其他代理模块也依赖于 ,我建议至少启用mod_proxy_html并:mod_proxy_http

例如 httpd.conf (部分)

<...>
LoadModule proxy_module modules/mod_proxy.so
#LoadModule proxy_ajp_module modules/mod_proxy_ajp.so
#LoadModule proxy_balancer_module modules/mod_proxy_balancer.so
#LoadModule proxy_connect_module modules/mod_proxy_connect.so
#LoadModule proxy_express_module modules/mod_proxy_express.so
#LoadModule proxy_fcgi_module modules/mod_proxy_fcgi.so
#LoadModule proxy_ftp_module modules/mod_proxy_ftp.so
#LoadModule proxy_hcheck_module modules/mod_proxy_hcheck.so
LoadModule proxy_html_module modules/mod_proxy_html.so
LoadModule proxy_http_module modules/mod_proxy_http.so
<...>

相关内容