Nginx端口监听,但没有响应

问题描述

我要完成的任务是将我的所有应用程序从Amazon Linux AMI迁移到Rhel 8 AMI。该应用程序是连接到MysqLDB的简单nodeJS API。在Linux AMI中,它对https使用端口5050,对http使用端口5000。在Rhel8 AMI中,它将6060端口用于https(5050已由Seminage声明的某个进程占用),而5000端口则用于http。使用Rhel 8,访问端口5000可以正常工作,它完美地返回了我的请求。但是,使用6060时,无法获得任何响应。因此,我对为什么Nginx在Linux AMI而不是Rhel 8上能完美工作感到困惑。在解决该问题方面,我做了以下事情:

  1. 确保端口正在侦听

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

  3. 安装了firewalld,并添加了http和https

  4. 在firewalld中同时打开了端口5000和6060

  5. 检查了日志中是否有错误。 (仅供参考,自从端口5050被使用以来,最后一件事情是使用端口5050的权限错误,这也是我使用6060的原因。)

  6. 元组检查NodeJS代码中没有使用端口5050。

  7. 确保Nginx -t正常工作。

这是端口的图片 ports listening 和我的Nginx配置文件part1 part2

我做的最后一件事是注意到端口6060仅对http开放,而在selinux中不对https开放。我试图做#semanage port -a -t https_port_t -p tcp 8001,但是它不接受https_port_t。这是受以下事实启发的:如果我执行sudo semanage port -l |,则会打开https端口。 grep https,这让我觉得我也可以添加一个

我想指出我对这一切(包括stackoverflow)非常新,并且配置中写的大部分内容来自我之前从事此工作的人。我从来没有问过它是否正确,因为它可以与Amazon linux AMI一起使用,因此我认为它在Rhel8中也可以类似地工作。

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)