大家好。
首先,我是 Windows Server 的新手。我一直使用 Linux/Apache 组合,但我的客户有 AWS EC2 Windows Server 2008 R2 实例,他希望其中所有东西都包含在内。
我正在使用 IIS 和 PHP 作为 Fast-CGI,并且一切正常,但是,我无法从互联网上看到存储在其中的网站。
AWS 为该实例提供的公共 DNS 是:
http://ec2-XX-XXX-XXX-121.us-west-2.compute.amazonaws.com/
但是,如果我复制粘贴该地址,则什么也看不到,没有 IIS 徽标或类似的东西。我的常识告诉我,防火墙可能阻止了访问。
有人能帮我吗?告诉我在哪里启用一些规则才能让这个东西正常工作?我不想随意启用规则,让系统不安全。
如果您需要任何其他信息,可以询问我,我会提供。
提前致谢。
更新:
Amazon EC2 显示此信息:
Public DNS: ec2-XX-XXX-XXX-121.us-west-2.compute.amazonaws.com
Private DNS: ip-XX-XXX-XX-252.us-west-2.compute.internal
Private IPs: XX.XXX.XX.25
在我的测试微实例中,我只需使用公共 DNS 地址(以“ec2”开头的地址),它就可以很好地工作(当然,微实例有自己的公共 DNS,我不会假设两个实例的地址相同……)
但是,对于大型实例,我尝试做同样的事情。设置一切,就像在微型实例中一样,但如果我使用公共 DNS,它不会加载任何内容。
我对 Windows 防火墙感到怀疑,但是 HTTP 相关的东西已启用。我应该怎么做才能访问大型实例?我还不想设置域,我想从 amazon url 访问。
第二次编辑:全部修复。
Charles 指出,也许没有为该实例正确设置安全组。他是对的。只需将 HTTP 服务添加到规则中,一切就都正常了。
答案1
Amazon EC2 具有安全组,可充当正在运行的实例前的防火墙。请确保在实例的安全组配置中打开了正确的端口。
答案2
他们为您提供了该实例的 DNS PTR 记录,但这不是用户访问网站的方式。他们将通过 DNS A 或 CNAME 记录 (www.domain.com) 访问网站。
获取 PTR 记录的 ip 地址部分 (xx-xxx-xxx-121),并在客户域的域 DNS 区域中创建 A 记录(我假设您希望它是 www),并在 A 记录中使用该 ip 地址。
答案3
检查 Windows 防火墙 - 开始、运行、wf.msc 并回车
在 l/h 窗格中选择入站规则。
但是,当您添加 Web 服务器角色(IIS 等)时,它应该在防火墙上为端口 80 打一个洞,所以我认为这已经存在了。查找两个入站规则,例如“万维网服务 HTTP 进入”和“万维网服务 HTTPS 进入”。