如何无需本地部署仅允许诊所WiFi/内网访问网站及API?
解决方案:限制AWS托管的WordPress站点及API仅诊所内网访问
一、基于固定公网IP的访问控制(适合诊所拥有静态公网IP的场景)
- AWS WAF 规则配置
创建Web ACL,添加IP匹配规则:仅允许诊所的公网IP/IP段访问,其余请求全部拦截。将该Web ACL关联到你的CloudFront分发(如果用了CDN)、应用负载均衡(ALB)或EC2实例,同时覆盖WordPress站点和API的访问入口。 - EC2安全组限制
如果WordPress或API部署在EC2实例上,直接修改实例的安全组入站规则:仅开放80/443端口给诊所的公网IP,拒绝所有其他IP的访问请求。 - API Gateway资源策略
若API托管在AWS API Gateway,添加以下资源策略,限制仅指定IP可调用API:{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": "*", "Action": "execute-api:Invoke", "Resource": "arn:aws:execute-api:<区域>:<账号ID>:<API ID>/*", "Condition": { "IpAddress": { "aws:SourceIp": ["<诊所公网IP>/32", "<可选的内网IP段>"] } } } ] }
二、Site-to-Site VPN 连接(适合诊所IP动态变化的场景)
- 在AWS VPC控制台创建VPN网关,与诊所本地路由器配置IPsec隧道,将诊所内网与AWS VPC建立私有连接。
- 将WordPress站点和API部署在VPC的私有子网中,修改安全组和路由表:仅允许VPN连接的诊所内网网段访问相关资源,禁止公网流量直接访问。
- 此方案不受诊所公网IP变动影响,安全性更高,适合长期稳定使用。
三、AWS PrivateLink(适合API的私有访问场景)
- 若API部署在EC2、EKS或其他AWS服务中,创建PrivateLink端点,让诊所内网通过VPN或Direct Connect直接访问API,无需将API暴露到公网。
- WordPress站点也可部署在VPC私有子网,通过VPN通道访问,完全隔离公网流量。
四、CloudFront + Origin Access Control(OAC)增强防护
- 用CloudFront作为WordPress站点的分发层,配置Origin Access Control(OAC),确保只有CloudFront能访问源站(EC2/ALB等)。
- 在CloudFront关联的WAF中添加IP白名单规则,仅允许诊所公网IP访问CloudFront分发地址,进一步阻断外部非法访问。
推荐标签
amazon-web-services wordpress rest-api network-security access-control
内容的提问来源于stack exchange,提问作者danialsaufi
相关产品推荐
相关产品推荐

