为什么我可以访问我的网站(IP地址):端口但不访问(域名):端口?

时间:2014-01-02 04:25:49

标签: node.js apache amazon-ec2 port cloudflare

我有一个运行弹性IP 12.34.56.78的Amazon EC2实例。我拥有一个域名example.com,我已将其设置为指向EC2实例。我在端口80上的EC2实例上运行Apache Web服务器,当我访问http:// 12.34.56.78和http:// example.com时,我可以看到该网站。

我也在端口3000上运行node.js服务器。当我访问http:// 12.34.56.78:3000时,我可以看到nodejs页面,但是当我访问http:// example.com:3000时,我看不到。我的EC2实例的安全组允许端口80,443和3000上的TCP / UDP。当我通过其域名访问我的网站时,为什么我看不到我的node.js页面? (我想运行一个Apache服务器和一个node.js服务器)

我想我遇到了这个问题,因为我正在使用cloudflare将http:// example.com与12.34.56.78链接起来。但即使我尝试连接http:// direct.example.com:3000,我也看不到我的node.js服务器。 (直接子域应该直接到12.34.56.78而没有cloudflare完成的工作)

有什么想法吗?

1 个答案:

答案 0 :(得分:2)

你不能,因为如果你通过点击云图片通过cloudflare传递你的域名,你的端口将只能这样:

对于通过HTTP(CloudFlare上的所有域)发出的请求:

80 8080 8880 2052 2082 2086 2095

对于通过HTTPS发出的请求(只有订阅了Pro,Business或Enterprise的域):

443 2053 2083 2087 2096 8443

我的解决方案是为ssh,python等任何实例创建一个不通过cloudflare的子域。

https://support.cloudflare.com/hc/en-us/articles/200169156-Which-ports-will-CloudFlare-work-with-