NodeJS Express API被防火墙阻止

我有一个NodeJS Express API ,运行良好,但它被一些基本的防火墙阻挡,比如我学校的guest wifi和一些内部的wifis。

// START THE SERVER // ============================================================================= https.createServer({ key: fs.readFileSync('/etc/letsencrypt/live/api.febc.org/privkey.pem'), cert: fs.readFileSync('/etc/letsencrypt/live/api.febc.org/fullchain.pem') }, app).listen(15443); console.log('Magic happens on port 15443'); 

SSL证书是让我们encryption,因为我的客户的IT部门认为这是最好的select,因为它是免费的。

我的假设是证书不如付费的CA,比如我个人使用的SSLs.com 。 因为我的个人API在这些wifis上工作。

该url确实得到了绿色locking,但我相信有些事情是错的。 我有:

  1. 更改了端口(8443)
  2. 双重检查ufw ,并确保我允许所有需要的端口
  3. testing我的手机的热点,它的工作原理

有人可以解释为什么发生这种情况? 免费证书不好吗?

我不认为这是因为你在使用Let's Encrypt。 从技术angular度来看,没有好的或不好的证书颁发机构。 要么你的操作系统信任我们的encryption根证书或不。

我的第一个猜测是,你的学校阻止你的访客networking到你托pipe你的API的networking的一系列传入端口。 尝试使用众所周知的端口(在你的情况下,它将是443或8443)提供访问您的服务。 如果这根本不起作用,或者你需要坚持到端口15433,我build议你应该告诉你的问题一个networkingpipe理员,因为防火墙相关的问题有时是棘手的检测。

编辑 :在生产环境中,你应该使用一个像反向代理来托pipe你的API。 我按照这篇文章进行了简洁的设置: https : //www.digitalocean.com/community/tutorials/how-to-set-up-a-node-js-application-for-production-on-ubuntu-14-04