Score:0

การปรับใช้แอป react js โดยตั้งค่า reverse proxy

ธง dk

ฉันมีแอป 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
cn flag
โมดูล Apache 'proxy' อาจมีประโยชน์ โดยเฉพาะคำสั่ง 'ProxyPass' และ 'ProxyPassReverse' ดูตัวอย่าง [คำตอบนี้สำหรับคำถามที่คล้ายกัน](https://askubuntu.com/questions/1342447/how-do-i-setup-a-subdomain-in-apache2-on-ubuntu-20-04/1342457# 1342457).

โพสต์คำตอบ

คนส่วนใหญ่ไม่เข้าใจว่าการถามคำถามมากมายจะปลดล็อกการเรียนรู้และปรับปรุงความสัมพันธ์ระหว่างบุคคล ตัวอย่างเช่น ในการศึกษาของ Alison แม้ว่าผู้คนจะจำได้อย่างแม่นยำว่ามีคำถามกี่ข้อที่ถูกถามในการสนทนา แต่พวกเขาไม่เข้าใจความเชื่อมโยงระหว่างคำถามและความชอบ จากการศึกษาทั้ง 4 เรื่องที่ผู้เข้าร่วมมีส่วนร่วมในการสนทนาด้วยตนเองหรืออ่านบันทึกการสนทนาของผู้อื่น ผู้คนมักไม่ตระหนักว่าการถามคำถามจะมีอิทธิพลหรือมีอิทธิพลต่อระดับมิตรภาพระหว่างผู้สนทนา