我将使用自定义VPC中的公共和私有子网在AWS中进行典型的Web应用程序部署 . 我已经完成了以下设置......
1)具有运行apache Web服务器的ec2实例的公有子网 .
2)运行tomcat app server的ec2实例的私有子网 .
3)创建AWS RDS mysql实例,其公共可访问标志设置为NO,仅在我们的VPC中可用 .
4)NAT实例,它也可以兼作私有ec2实例的堡垒主机 .
4)使用我的所有NACL和安全组设置,以下工作正常 .
- 我能够通过public nat ec2实例ssh到私有ec2实例 .
私有ec2实例也可以连接到Internet进行更新 .
私有Tomcat服务器能够访问AWS RDS MySQL数据库 .
从我的公共Web服务器,我能够将curl HTTP POST请求发送到私有tomcat服务器并返回数据 .
问题:我们在Apache中的公共服务器中部署了表示层,并在发送相同请求时从应用程序部署了我在chrome-net :: ERR_CONNECTION_TIMED_OUT中出现错误 . 在IE 11中我得到--XMLHttpRequest:网络错误0x80070005,访问被拒绝 .
到目前为止我尝试过的事情 . 启用了访问源头并允许必要的头,已将loglevel设置为在apache中调试,但我没有看到任何东西 . 看起来请求本身没有到达应用程序服务器,当curl post请求正在经历apache请求未通过时,它会让人感到困惑?
请提供投入以继续前进 . 谢谢
公共路线
Destination Target Status Propogated
45.0.0.0/16 local Active No
0.0.0.0/0 IGW Active No
私人路线
Destination Target Status Propogated
45.0.0.0/16 local Active No
0.0.0.0/0 NAT ENI Active No
公共NACL入境
Rule# Type Protocol Port Range Source Allow/Deny
100 ALL ALL ALL ALL 0.0.0.0/0 ALLOW
110 HTTP (8080) TCP (6) 8080 0.0.0.0/0 ALLOW*
公共NACL出站
Rule# Type Protocol Port Range Destination Allow/Deny
100 ALL ALL ALL ALL 0.0.0.0/0 ALLOW
110 HTTP (8080) TCP (6) 8080 0.0.0.0/0 ALLOW*
私人NACL入境
Rule# Type Protocol Port Range Source Allow/Deny
100 ALL ALL ALL ALL 0.0.0.0/0 ALLOW
110 HTTP (8080) TCP (6) 8080 0.0.0.0/0 ALLOW*
私人NACL Outvbound
Rule# Type Protocol Port Range Destination Allow/Deny
100 ALL ALL ALL ALL 0.0.0.0/0 ALLOW
110 HTTP (8080) TCP (6) 8080 0.0.0.0/0 ALLOW*
App Server SG-Inbound
Type Protocol Port Range Source
HTTP (8080) TCP (6) 8080 Web Server SG*
HTTP (8080) TCP (6) 8080 NAT Server SG*
SSH (22) TCP (6) 22 NAT Server SG
App Server SG-Outbound
Type Protocol Port Range Destination
ALL ALL ALL 0.0.0.0/0
Web服务器SG-Inbound
Type Protocol Port Range Source
HTTP (80) TCP (6) 80 0.0.0.0/0
SSH (22) TCP (6) 22 My laptop IP
Web服务器SG-Outbound
Type Protocol Port Range Destination
HTTP (8080) TCP (6) 80 App Server SG*
ALL ALL ALL 0.0.0.0/0
1 回答
首先,您需要检查添加HTTP和HTTPS的安全组规则 . 之后检查NACL入站和出站规则 . 下一个路由表,因为您的VPC中有私有子网和公有子网 .
从安全组或NACL关闭HTTP或HTTP协议时发生ERR_CONNECTION_TIMED_OUT .