在 GCE 中将本地 Web 服务器部署到 public

Deploy local web server to public in GCE

我有一个本地网络服务器 运行:

https://localhost:5555

我笔记本电脑里的所有东西。 假设我已经购买了自己的域名 abc.com.

将其部署到 Google 云中的 abc.com 的最简单方法是什么?

  1. 设置一台VM机器,运行机器里面的相同程序。
  2. 获取外部(public ip)并在网络设置中打开端口5555
  3. 现在它完美无缺,如果我去我的 $PUBLIC_IP:5555

但我不知道如何将这些映射到我的 DNS,这样如果人们单击 abc.com,它就会重定向到我的 $PUBLIC_IP:5555。有什么简单的方法可以在不设置 nginx 或单独的 Web 服务器来路由 Google 云平台中的流量的情况下做到这一点?

谢谢!

如果人们点击 abc.com,他们的浏览器将默认使用端口 80 而不是 5555。假设您的网络服务器不会 运行 在端口 80 上(或者您不想要它)在端口 80 上),您可以像这样使用 iptablestranslate 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_IPA 记录。 Here is Google's guide for how to do this with various registrars.