首页 > 解决方案 > 如何为我的 Golang 服务器分配域名?

问题描述

这可能是一个非常基本的问题,但我已经被困了 2 天

我在 Namecheap 上购买了域名 AAA.xyz,并且我的 Golang Web 服务器在我的端口:8095 上运行(我已经重定向了我的路由器上的端口,因此我的服务器可以通过我的公共 IP 从任何地方访问http:// 93.6.XXX.YYY:8095/ )

如何使用正确的端口让我的 Namecheap 域名指向我的 IP 地址,这样当我在浏览器上输入 AAA.xyz 时,我会从我的 API 获得响应?

标签: gowebserverdomain-namenamecheap

解决方案


您必须编辑 namecheap DNS 设置以添加 A 记录,该记录将指向您的服务器 IP。这足以将所有流量转移到您的域,到您的服务器。

虽然,除非它不是生产设置,否则最好让像 nginx 这样的反向代理服务器来处理传入的 http 流量。然后你也不必将你的端口暴露给外界。(除非你要)。

安装 nginx。在你的 nginx 配置文件中添加一个代理传递,它将所有来自端口 8095 的请求路由到你的应用程序 127.0.0.1:8095。

当您在不同端口上的服务器上运行多个 Go 应用程序时,这也将为您提供帮助。您可以使用不同的 URL 指向不同的应用程序。

例如 https://yourdomain.com/app1将转到 127.0.0.1:8095 而https://yourdomain.com/app2将转到 127.0.0.1:8096

奖励:您可以使用 Letsencrypt 为您的 nginx 服务器免费提供 HTTPS 证书,然后与您的应用程序的所有通信都将通过 HTTPS 上的端口 443 进行,而无需配置每个应用程序来处理证书。

此外,在防火墙中打开端口 80 和 443。

如果您需要任何有关特定步骤的帮助。我将对此进行扩展。


推荐阅读