Node.js Nginx端口正在侦听,但未响应

Node.js Nginx端口正在侦听,但未响应,node.js,amazon-web-services,amazon-ec2,nginx-reverse-proxy,selinux,Node.js,Amazon Web Services,Amazon Ec2,Nginx Reverse Proxy,Selinux,我试图完成的任务是将我的所有应用程序从AmazonLinuxAMI移动到RHEL8AMI。该应用程序是一个连接到mysqlDB的简单nodejsapi。在LinuxAMI中,https使用端口5050,http使用端口5000。在RHEL8AMI中,它将端口6060用于https(seminage声明的某些进程已经使用了5050),将端口5000用于http。使用RHEL8,访问端口5000工作正常,它完美地返回了我的请求。然而,当使用6060时,它无法得到任何响应。因此,我不明白为什么ngin

我试图完成的任务是将我的所有应用程序从AmazonLinuxAMI移动到RHEL8AMI。该应用程序是一个连接到mysqlDB的简单nodejsapi。在LinuxAMI中,https使用端口5050,http使用端口5000。在RHEL8AMI中,它将端口6060用于https(seminage声明的某些进程已经使用了5050),将端口5000用于http。使用RHEL8,访问端口5000工作正常,它完美地返回了我的请求。然而,当使用6060时,它无法得到任何响应。因此,我不明白为什么nginx在linuxami中可以完美工作,而在rhel8中却不能。在解决问题方面,我做了以下工作:

  • 确保端口正在侦听

  • 在seminage中添加了我需要的端口 我使用以下行添加端口:#semanage port-a-t https_port_t-p tcp 8001

  • 已安装firewalld并添加了http和https

  • 已在firewalld中打开端口5000和6060

  • 检查日志中是否有任何错误。(仅供参考,最后一个声明是使用端口5050的许可错误,因为它已经被占用,这也是我使用6060的原因)

  • 请检查NodeJS代码中是否没有使用端口5050

  • 确保nginx-t工作正常

  • 这是港口的图片 和我的nginx配置文件:

    我做的最后一件事是注意到端口6060在selinux中只对http而不是https开放。我尝试使用#semanage port-a-t https_port_t-ptcp 8001,但它不接受https_port_t。这是因为如果我使用sudo semanage port-l | grep https,就会打开https端口,这让我觉得我也可以添加一个

    我想指出的是,我对这一切都很陌生(包括stackoverflow),配置中写的很多东西都是我之前的工作人员写的。我从未质疑过它是否正确,因为它与AmazonLinuxAMI的预期工作一致,所以我假设它在Rhel8中也会同样工作