NGINX Proxy Pass ไปยังแอป NodeJS: ส่งคืนข้อผิดพลาด 502


3

ฉันกำลังพยายามตั้งค่า NGINX เป็นส่วนหน้าของแอป NodeJS ซึ่งเปิดใช้งานอยู่127.0.0.1:3000แต่ฉันไม่สามารถแก้ไขข้อผิดพลาด 502 นี้ได้ NGINX สามารถเข้าถึงได้ในท้องถิ่นที่http://55.55.55.5/หรือhttp://dev.example

dev.example (ไฟล์ใน: / etc / nginx / sites-available และ symlinked ไปยังเว็บไซต์ที่เปิดใช้งาน)

upstream up_dev.example {
    server 127.0.0.1:3000;
}

server {
    listen 0.0.0.0:80;
    server_name dev.example example;
    access_log /var/log/nginx/dev.example.log;

    location / {
      proxy_set_header X-Real-IP $remote_addr;
      proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
      proxy_set_header Host $http_host;
      proxy_set_header X-NginX-Proxy true;

      proxy_pass http://up_dev.example/;
      proxy_redirect off;
    }
 }

บันทึกข้อผิดพลาด

2014/09/17 19:38:26 [ข้อผิดพลาด] 1679 # 0: * 1 การเชื่อมต่อ () ล้มเหลว (111: การเชื่อมต่อถูกปฏิเสธ) ในขณะที่เชื่อมต่อกับต้นน้ำลูกค้า: 55.55.55.1 เซิร์ฟเวอร์: คำขอ: "GET / HTTP / 1.1 ", upstream: $


2
โปรดหลีกเลี่ยงการใช้ที่อยู่ IP ของกวีอื่นโดยเฉพาะอย่างยิ่งเมื่อเป็นของกองทัพสหรัฐฯ!
Michael Hampton

คำตอบ:


7

อาจเป็น SELinux ที่ป้องกันการเชื่อมต่อที่ถูกhttpd_can_network_connectปิดโดยปริยาย

getsebool httpd_can_network_connect

ตรวจสอบว่าสิ่งนี้เปิดอยู่ ถ้าไม่เปิดใช้งานโดยเปิด

setsebool -P httpd_can_network_connect on

-Pเปลี่ยนแปลงถาวรวิธีการเพื่อให้บูลใหม่จะยังคงมีผลบังคับใช้แม้หลังจากรีบูต


3

การเชื่อมต่อถูกปฏิเสธหมายความว่าไม่มีซอฟต์แวร์ใดที่กำลังฟังพอร์ต 3000 บนเซิร์ฟเวอร์ของคุณ คุณควรตรวจสอบว่า Node.JS ทำงานอย่างถูกต้องและกำลังฟังพอร์ต 3000


โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.