ฉันใช้เซิร์ฟเวอร์ Node.js สองตัวบนอินสแตนซ์ Ubuntu EC2 ที่รับฟังจากสองพอร์ตที่แตกต่างกัน...
ก่อนหน้านี้ ฉันมีเซิร์ฟเวอร์ Apache ที่ทำหน้าที่เป็นพร็อกซีเพื่อนำไคลเอนต์ไปยังแอปพลิเคชันที่ถูกต้องตามเส้นทาง URL ของพวกเขาฉันกำลังพยายามให้ Apache นำลูกค้าไป http://127.0.0.1:1337/admin เมื่อใดก็ตามที่พวกเขาไปที่เส้นทาง /admin URL อย่างไรก็ตาม เมื่อใดก็ตามที่ฉันไปที่นั่น เบราว์เซอร์แสดงข้อผิดพลาดดังต่อไปนี้
รับ http://myserver.com/admin/runtime~main.f9af2365.js net::ERR_ABORTED 404 (ไม่พบ)
รับ http://myserver.com/admin/main.2e76d653.js net::ERR_ABORTED 404 (ไม่พบ)
ดูเหมือนว่าเซิร์ฟเวอร์จะไม่พบไฟล์บิลด์ที่จำเป็นในการเรียกใช้แอปพลิเคชัน อย่างไรก็ตาม ถ้าฉันไปที่เส้นทาง http://myserver:1337/admin โดยตรง มันก็ใช้ได้ดีอย่างสมบูรณ์ สิ่งนี้ดูเหมือนจะบอกฉันว่าปัญหาเกี่ยวข้องกับพร็อกซีเซิร์ฟเวอร์ของฉัน ฉันแค่ไม่แน่ใจว่ามันคืออะไร
มอบฉันทะให้ http://127.0.0.1:8080/ ใช้งานได้ดีอย่างสมบูรณ์
นี่คือไฟล์ /etc/apache2/sites-available/000-default.conf ของฉัน
<VirtualHost *:80>
ServerName myserver.com
ServerAlias myserver.com
ProxyPreserveHost On
ProxyPass /admin http://127.0.0.1:1337/admin/
ProxyPassReverse /admin http://127.0.0.1:1337/admin/
ProxyPass / http://127.0.0.1:8080/
ProxyPassReverse / http://127.0.0.1:8080/
ErrorLog ${APACHE_LOG_DIR}/efh-app-web_error.log
# Possible values include: debug, info, notice, warn, error, crit,
LogLevel warn
CustomLog ${APACHE_LOG_DIR}/efh-app-web_access.log combined
</VirtualHost>
ฉันได้ลองใช้คำแนะนำและฟอรัมต่างๆ มากมายเกี่ยวกับปัญหาที่คล้ายกับนี้ แต่ดูเหมือนจะไม่มีใครสามารถแก้ไขปัญหาของฉันได้ ฉันค่อนข้างใหม่สำหรับการพัฒนาเว็บและการกำหนดค่าเซิร์ฟเวอร์ ดังนั้นฉันขออภัยหากขาดรายละเอียด โปรดแจ้งให้เราทราบหากคุณต้องการข้อมูลเพิ่มเติม