我正在尝试使用 nginx 在我的 Raspberry Pi 上托管一个网站。我对端口转发甚至在我的 Raspberry Pi 配置中使用哪个 IP 感到非常困惑。
现在,我只能通过本地网络访问我的网站。我让 namecheap.com 将对 example.com 的请求重定向到 192.168.0.10:8001。来自http://infobyip.com但是,显示我的 IP 是 123.124.125.126。我甚至不知道这个数字是从哪里来的。
我可以向你们展示你们可能需要的任何文件,看看是否有人可以帮忙。
答案1
只有您的本地网络知道您的 pi 处于 状态192.168.0.10
,因为这是一个本地 IP。从世界其他地方看,您的公共 IP 是您的路由器从 ISP 获得的 IP。您可以通过以下方式检查此 IP 是什么:whatismyip.com。然后您需要告诉 namecheap.com 您的网站位于返回的公共 IP 上(从现在开始,我们假设为162.225.119.254
),因为从世界其他地方的角度来看,这是您的 IP。然后,由于162.225.119.254
实际上是路由器的 IP,您需要为路由器设置端口转发,以便路由器将端口 8001 上的任何内容转发到您的 Raspberry Pi 本地 IP(192.168.0.10
)。
简而言之:
- 告诉世界其他地方(通过 namecheap.com),该域名应该指向
162.225.119.254
- 告诉你的路由器将端口 8001 上的所有传入内容转发到
192.168.0.10
附言:
- 你确定要使用端口 8001 而不是端口 80 吗?后者是默认端口。否则,你不得不告诉所有人你的网站使用的是端口 8001。当然,除非你设置了端口转发,使得任何从端口 80 传入的流量都会转发到
192.168.0.10:8001
- 我不知道 namecheaps 的 DNS 系统,但通常不会为 Web 服务器指定端口。如果此时仍然不起作用,请忽略那里的任何端口定义,并尝试使用默认值。这意味着 8001,如果您已将 nginx 设置为监听该端口。
- 您是否检查过您的 ISP 是否为您提供了静态或半静态 IP?私人家庭通常拥有动态 IP,这意味着您的公共 IP 会时常发生变化。如果是这种情况,您需要使用动态 DNS 服务,例如无ip.com
- 如果 DNS 设置中的更改缓存在某处,则通常需要一些时间才能传播。我刚刚检查过,您指定的域解析为一个公共 IP,该 IP 与您不知道来源的 IP 接近。