เรากำลังเรียกใช้เว็บแอปพลิเคชันที่เขียนด้วย Java (tomcat8) ซึ่งโฮสต์ใน AWS ElastcBeanStalk
หลายสัปดาห์ก่อน เราเริ่มได้รับข้อผิดพลาด 503 แบบสุ่ม
เมื่อเราตรวจสอบ elasticbeanstalk-erorr_logs
[พฤ. 03 มี.ค. 13:22:12.906144 2022] [proxy:error] [pid 14882:tid 139757338711808] (13)ปฏิเสธการอนุญาต: AH02454: HTTP: พยายามเชื่อมต่อกับซ็อกเก็ตโดเมน Unix /var/run/httpd/ (localhost) ล้มเหลว
[พฤ. 03 มี.ค. 13:22:12.906202 2022] [proxy_http:error] [pid 14882:tid 139757338711808] [client 172.31.17.0:61382] AH01114: HTTP: ไม่สามารถเชื่อมต่อกับแบ็กเอนด์: httpd-UDS ผู้อ้างอิง: http: //our-domain.com/1/callBackLog.jsp
บันทึกข้อผิดพลาดกำลังแนะนำข้อผิดพลาดในการเชื่อมต่อกับซ็อกเก็ตยูนิกซ์แบ็คเอนด์
เมื่อเราตรวจสอบในโฟลเดอร์ /var/run/httpd/ ไม่มีซ็อกเก็ตยูนิกซ์ (ไฟล์ .sock)
แต่ใน apache httpd config
<VirtualHost *:80>
<Proxy *>
Require all granted
</Proxy>
ProxyPass / http://localhost:8080/ retry=0
ProxyPassReverse / http://localhost:8080/
ProxyPreserveHost on
ErrorLog /var/log/httpd/elasticbeanstalk-error_log
</VirtualHost>
แบ็กเอนด์พร็อกซีคือที่อยู่ IP ไม่ใช่ซ็อกเก็ตยูนิกซ์
ตามการกำหนดค่า httpd ควรเชื่อมต่อกับที่อยู่ IP ของแบ็กเอนด์ (localhost:8080) แต่ทำไมมันถึงบ่นเกี่ยวกับซ็อกเก็ตยูนิกซ์
มีใครประสบปัญหาที่คล้ายกัน?