# แก้ 404 ที่ https://srv1361159.hstgr.cloud/realtimechat/ ## สาเหตุ Nginx ยังไม่ชี้ path `/realtimechat/` ไปที่โฟลเดอร์ที่มี `index.html` (มักอยู่ที่ `.../realtimechat/public/`) --- ## วิธีที่ 1: แก้ด้วยมือ (แนะนำ) ### 1) SSH เข้าเซิร์ฟเวอร์ แล้วเปิดไฟล์ config ```bash sudo nano /etc/nginx/sites-available/srv1361159.hstgr.cloud ``` (ถ้าใช้ชื่ออื่น ใช้ไฟล์ที่มี server_name srv1361159.hstgr.cloud) ### 2) ในบล็อก `server { ... }` ให้มีแบบนี้ (ถ้ามีอยู่แล้วให้แก้ให้ตรง) ```nginx location /realtimechat/ { alias /var/www/html/realtimechat/public/; index index.html; try_files $uri $uri/ /realtimechat/index.html; } location /realtimechat/socket.io/ { proxy_pass http://127.0.0.1:3000; proxy_http_version 1.1; proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection "upgrade"; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header X-Forwarded-Proto $scheme; } ``` ### 3) เช็ค path ว่ามีไฟล์จริง ```bash ls -la /var/www/html/realtimechat/public/index.html ``` - ถ้า **ไม่มี** แสดงว่าไฟล์อยู่คนละที่ เช่น `/var/www/html/realtimechat/index.html` → ใช้ `alias /var/www/html/realtimechat/;` แทน (ไม่มี `public`) ### 4) ทดสอบและ reload Nginx ```bash sudo nginx -t sudo systemctl reload nginx ``` ### 5) เปิด Node (realtimechat) ถ้ายังไม่รัน ```bash sudo systemctl start realtimechat sudo systemctl enable realtimechat ``` --- ## วิธีที่ 2: ใช้สคริปต์ช่วยเช็ค path รันบนเซิร์ฟเวอร์: ```bash # ดูว่า index.html อยู่ที่ไหน ls /var/www/html/realtimechat/index.html 2>/dev/null && echo "อยู่ที่ realtimechat/" ls /var/www/html/realtimechat/public/index.html 2>/dev/null && echo "อยู่ที่ realtimechat/public/" ``` - ถ้าอยู่ที่ **realtimechat/public/** → ใช้ `alias .../realtimechat/public/;` - ถ้าอยู่ที่ **realtimechat/** → ใช้ `alias .../realtimechat/;` --- ## หลังแก้แล้ว เปิด: https://srv1361159.hstgr.cloud/realtimechat/ ควรเห็นหน้า realtimechat แทน 404