在 GCE 中将本地 Web 服务器部署到 public
Deploy local web server to public in GCE
我有一个本地网络服务器 运行:
https://localhost:5555
我笔记本电脑里的所有东西。
假设我已经购买了自己的域名 abc.com
.
将其部署到 Google 云中的 abc.com
的最简单方法是什么?
- 设置一台VM机器,运行机器里面的相同程序。
- 获取外部(public ip)并在网络设置中打开端口
5555
。
- 现在它完美无缺,如果我去我的
$PUBLIC_IP:5555
但我不知道如何将这些映射到我的 DNS,这样如果人们单击 abc.com
,它就会重定向到我的 $PUBLIC_IP:5555
。有什么简单的方法可以在不设置 nginx 或单独的 Web 服务器来路由 Google 云平台中的流量的情况下做到这一点?
谢谢!
如果人们点击 abc.com,他们的浏览器将默认使用端口 80 而不是 5555。假设您的网络服务器不会 运行 在端口 80 上(或者您不想要它)在端口 80 上),您可以像这样使用 iptables
到 translate port 80 to port 5555:
iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 80 -j REDIRECT --to-port 5555
这涵盖了问题的端口部分。问题的另一部分是将域名 abc.com 映射到 $PUBLIC_IP
。为此,您需要转到注册域名的服务并添加映射到 $PUBLIC_IP
的 A
记录。 Here is Google's guide for how to do this with various registrars.
我有一个本地网络服务器 运行:
https://localhost:5555
我笔记本电脑里的所有东西。
假设我已经购买了自己的域名 abc.com
.
将其部署到 Google 云中的 abc.com
的最简单方法是什么?
- 设置一台VM机器,运行机器里面的相同程序。
- 获取外部(public ip)并在网络设置中打开端口
5555
。 - 现在它完美无缺,如果我去我的
$PUBLIC_IP:5555
但我不知道如何将这些映射到我的 DNS,这样如果人们单击 abc.com
,它就会重定向到我的 $PUBLIC_IP:5555
。有什么简单的方法可以在不设置 nginx 或单独的 Web 服务器来路由 Google 云平台中的流量的情况下做到这一点?
谢谢!
如果人们点击 abc.com,他们的浏览器将默认使用端口 80 而不是 5555。假设您的网络服务器不会 运行 在端口 80 上(或者您不想要它)在端口 80 上),您可以像这样使用 iptables
到 translate port 80 to port 5555:
iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 80 -j REDIRECT --to-port 5555
这涵盖了问题的端口部分。问题的另一部分是将域名 abc.com 映射到 $PUBLIC_IP
。为此,您需要转到注册域名的服务并添加映射到 $PUBLIC_IP
的 A
记录。 Here is Google's guide for how to do this with various registrars.