我的情况:
- 我想仅向公众公开 Wordpress REST API(用于无头 CMS),并关闭其他所有内容(安全风险)
- 我希望能够从任何地方(家里、办公室、旅行时使用笔记本电脑)访问 Wordpress 安装
- 我根本不想让其他任何人访问此 Wordpress 安装。仅限公共端点应该
/wp-json/
我的解决方案:
- 创建 VPC 并在 EC2 或其他 AWS 服务上托管 Wordpress
/wp-json/
使用 API 网关公开REST API- 禁止除我自己的 IP 之外的任何人访问 Wordpress 安装的其余部分
问题:
- 我的 IP 在家里、办公室或旅行时不一样。
- 我的IP是动态的。
- 我如何确保我可以从世界任何地方使用正确的凭据访问 /wp-admin/
可能的解决方案:
- VPN
- SSH 隧道
- ???
我该如何解决这个问题?
答案1
我会建议使用 VPN。我们使用https://pritunl.com/出于同样的目的。为了限制访问,我们所做的是:
- 在小型 EC2 实例上安装 pritunl(甚至 t2.small 也可以)。
- 为其附加一个弹性 IP。
- 对于所有资源,仅限制对弹性 IP 的访问。
- 现在,由于您将在 VPC 中启动这些资源,因此请在与该 VPC 对应的服务器中添加路由(VPC 的 CIDR)。
这可确保您的 VPN 服务器的 IP 永远不会改变,并且您可以从任何地方访问您的资源。
PS 如果您在与资源相同的 VPC 中启动 VPN 服务器,则无需进行 VPC 对等连接,但如果您使用不同的 VPC,则需要对两个 VPC 进行对等连接。
专业提示:不要使用 AWS 默认 VPC,而是启动一个新的 VPC 并在其中启动您的资源。这样,如果您希望将您的资源对等到不同区域的默认 VPC,您可以轻松完成。如果您想要将资源从一个 AWS 区域迁移到另一个 AWS 区域,这将非常有用。
希望这可以帮助。