如何让我的服务器可从互联网上查看?

如何让我的服务器可从互联网上查看?

我有一个网站,mydomain.com。我希望能够通过该网站的子域 server.mydomain.com 访问内部服务器。我通过 Windows 2003 为该服务器设置了一个 DNS,这样我就可以在地址栏中输入 server.mydomain.com,它将解析为相应的 apache 服务器,但这仅在网络内部有效。

我的最终目标是建立一个https://server.mydomain.com它将路由到我的 apache 服务器,以便我可以访问该机器上运行的 svn 和 trac。

有什么建议可以实现这一点吗?

答案1

  • 在路由器上配置 NAT(公共 IP 到服务器私有 IP)。同时设置适当的 ACL(例如,仅允许端口 80 等...)。
  • 配置公共 DNS,将子域指向上一步使用的公共 IP。配置内部 DNS,使其指向私有 IP。

答案2

您是否通过路由器转发了端口,您是否将 DNS 设置为指向本地 IP?

这些都是您可能想要看的东西。

编辑

好吧,我认为(如果错误,请纠正我)您想从 LAN 外部访问此服务器。如果确实如此,您需要将本地 IP 更改为 WAN IP。如果错误,请再次纠正我。

答案3

  1. 您的域名是公开的吗?还是只是本地的(即 google.com 与 mycompany.local)

  2. 您有多少个公共地址?

    • 如果 mydomain.com 和 server.mydomain.com 的值为 1,请在路由器上使用 PAT,并将 server.mydomain.com 设置为 mydomain.com 的 CNAME。但是,如果您已经在 mydomain.com 上有一个 Web 服务器,则无法在端口 80 上加入服务器。
    • 如果超过 1 个,请将 server.mydomain.com 设置为 A 记录,并使用您想要使用的公共 IP 地址。

另一个解决方案是在您的 mydomain.com 网络服务器上设置某种反向代理,如果客户端尝试访问 server.mydomain.com,则该请求将被转发到 apache/svn 服务器。

此外,代理可以处理 ssl,并卸载网络服务器。

编辑 :

  • 1个IP地址:

mydomain.com = 您的公共 IP 地址的 DNS A 记录 server.mydomain.com = mydomain.com 的 CNAME

在路由器上转发(PAT):

<public ip>:80/tcp => to the old webserver
<public ip>:8080/tcp => to the new webserver. 
  • 2个IP地址:

server.mydomain.com = 您的辅助 IP 地址的 DNS A 记录。

如果需要,请将路由器/防火墙上的端口 80/tcp 转发/打开到网络服务器。

  • 代理方式:

http 代理(squid、apache……)将根据发出的域名重定向请求。

如果客户端请求 mydomain.com,代理将重定向到旧的 Web 服务器,即 80/tcp。如果客户端请求 server.mydomain.com,代理将重定向到新的 Web 服务器,即 80/tcp。

我认为这可以通过 Apache 上的虚拟主机来实现。

希望这有帮助!

相关内容