ฉันมีแอป react js ทำงานอยู่ localhost:3000
บน vps ของฉัน (godaddy)
ฉันได้ตั้งค่าพร็อกซีย้อนกลับโดยใช้เว็บเซิร์ฟเวอร์ Apache บน /var/www/html/ecommerce/app
โดยการตั้งค่า .htaccess
แบบนี้:
DirectoryIndex ถูกปิดใช้งาน
RewriteEngine เปิดอยู่
RewriteRule ^(.*)$ http://127.0.0.1:3000/$1 [P,L]
RewriteRule ^$ http://127.0.0.1:3000 [P,L]
แนวคิดคือการเข้าถึงแอปผ่าน http://my-vps-public-ip/ecommerce/app
.
ตอนนี้โหลดหน้านี้ไม่สำเร็จ ความช่วยเหลือใด ๆ ที่จะได้รับการชื่นชม
เพื่อทดสอบว่าแอปทำงานอยู่จริงหรือไม่ http://localhost:3000
ฉันสร้างอุโมงค์ SSH:
ssh -L 3000:$GD_IP:3000 -N logan@$GD_IP
และเมื่อฉันมองจากจุดสิ้นสุดของฉัน http://localhost:3000
มันได้ผล! มีบางอย่างผิดปกติกับการกำหนดค่า Apache ของฉัน ฉันทำ reverse proxy ที่คล้ายกันกับพอร์ต 8000 และใช้งานได้
อันนี้ใช้ได้ในกรณีอื่น:
DirectoryIndex ถูกปิดใช้งาน
RewriteEngine เปิดอยู่
RewriteRule ^(.*)$ http://127.0.0.1:8000/api/$1 [P,L]
RewriteRule ^$ http://127.0.0.1:8000/api [P,L]
โดย 'ทำงาน' ฉันหมายถึงพูด .htaccess
ไฟล์อยู่ภายใต้ /var/www/html/ecommerce/api จากนั้นฉันสามารถเข้าถึงได้ผ่าน http://my-vps-public-ip/ecommerce/api
.
เมื่อฉันไปเยี่ยม http://$GD_IP:3000
เปิดเว็บไซต์! แต่ทำไม? .htaccess
ไฟล์อยู่ภายใต้ /var/www/html/ecommerce/app
ดังนั้นฉันคิดว่ามันจะสามารถเข้าถึงได้ผ่านทาง http://$GD_IP/ecommerce/app
?
ผลลัพธ์ของ เอสเอส
สั่งการ:
logan@vps:~$ ss -ltn 'กีฬา = :8000'
สถานะ Recv-Q Send-Q Local Address:Port Peer Address:Port Process
ฟัง 0 511 *:8000 *:*
logan@vps:~$ ss -ltn 'กีฬา = :3000'
สถานะ Recv-Q Send-Q Local Address:Port Peer Address:Port Process
ฟัง 0 511 0.0.0.0:3000 0.0.0.0:*
ผลลัพธ์ของ apachectl -S
:
logan@vps:~$ apachectl -S
AH00558: apache2: ไม่สามารถระบุชื่อโดเมนแบบเต็มของเซิร์ฟเวอร์ได้อย่างน่าเชื่อถือ โดยใช้ ip-184-168-120-55.ip.secureserver.net ตั้งค่าคำสั่ง 'ชื่อเซิร์ฟเวอร์' ทั่วโลกเพื่อระงับข้อความนี้
การกำหนดค่า VirtualHost:
*:80 ip-184-168-120-55.ip.secureserver.net (/etc/apache2/sites-enabled/000-default.conf:1)
รูทเซิร์ฟเวอร์: "/etc/apache2"
รูทเอกสารหลัก: "/var/www/html"
ErrorLog หลัก: "/var/log/apache2/error.log"
พร็อกซี Mutex: using_defaults
ค่าเริ่มต้นของ Mutex: dir="/var/run/apache2/" กลไก=ค่าเริ่มต้น
Mutex watchdog-callback: using_defaults
Mutex rewrite-map: using_defaults
PidFile: "/var/run/apache2/apache2.pid"
กำหนด: DUMP_VHOSTS
กำหนด: DUMP_RUN_CFG
ผู้ใช้: name="www-data" id=33 not_used
กลุ่ม: name="www-data" id=33 not_used