Score:1

ซ่อนเส้นทางใน URL ของ Rocket.Chat ด้วย mod_rewrite

ธง cn

ฉันมองหาวิธีแก้ไขปัญหามาหลายวันแล้ว น่าเสียดายที่ไม่ประสบความสำเร็จ ก่อนที่ฉันจะลองต่อไปอีกหลายวันและในที่สุดฉันก็ไม่มีวิธีแก้ปัญหาฉันถามคุณ

บนเซิร์ฟเวอร์ Univention ของฉัน ฉันได้ติดตั้งแอป "Rocket.Chat" สิ่งนี้จะติดตั้งตัวเองเป็นคอนเทนเนอร์ Docker

ฉันได้สร้างโดเมนย่อย 'chat.example.com' สำหรับ Rocket.Chat ซึ่งชี้ไปที่เซิร์ฟเวอร์ Univention ในการโทรหา Rocket.Chat ฉันต้องเข้าสู่เบราว์เซอร์:

https://chat.example.com/rocketchat/home

ฉันไม่ชอบสิ่งนี้. ฉันต้องการเช่นนั้นเมื่อฉัน:

https://chat.example.com

ฉันไปที่ Rocket.Chat โดยตรง ฉันได้จัดการสิ่งนี้ด้วย MOD_REWRITE แต่เบราว์เซอร์แสดง URL ที่สมบูรณ์ (https://chat.example.com/rocketchat/home) อีกครั้ง.

เพื่อป้องกันปัญหานี้ ฉันได้ลองทำสิ่งต่อไปนี้แล้ว:

RewriteEngine เปิดอยู่
RewriteCond %{HTTP_HOST} ^chat.example.com$ [NC]
RewriteRule ^/(.*)$ /rocketchat/home/ [P,L]

ฉันทำผิดพลาดตรงไหน?

ด้วยสิ่งที่ดีที่สุด

Score:0
ธง kz
RewriteCond %{HTTP_HOST} ^chat.example.com$ [NC]
RewriteRule ^/(.*)$ /rocketchat/home/ [P,L]

คำถามสองสามข้อเกี่ยวกับสิ่งนี้:

  • ทำไมคุณถึงใช้ พี ธง? สิ่งนี้ใช้ mod_proxy เพื่อ หนังสือมอบฉันทะ คำขอ?
  • แมตช์นี้ ทั้งหมด URL และเขียนใหม่เป็น URL เดียว? ตัวอย่างของคุณกล่าวถึงการเขียนรูทใหม่เท่านั้น?
  • ตัวอย่างของคุณไม่มีเครื่องหมายทับต่อท้ายเป้าหมาย แต่คุณได้รวมเครื่องหมายทับต่อท้ายในกฎนี้หรือไม่ เป็น บ้าน ฟิสิคัลไดเร็กทอรีย่อย?

ลองทำสิ่งต่อไปนี้แทน โดยถือว่ากฎนี้อยู่ใน เซิร์ฟเวอร์ (หรือ โฮสต์เสมือน) บริบท:

RewriteCond %{HTTP_HOST} ^chat\.example\.com [NC]
RewriteRule ^/$ /rocketchat/home/ [L]

อย่างไรก็ตาม การทำงานนี้อาจยังคงขึ้นอยู่กับตัวแอปแชทเอง

Score:0
ธง cn

เพื่อทดสอบสถานะของ Rocket.Chat ฉันสามารถป้อนข้อมูลต่อไปนี้บนโฮสต์ Univention

root@gw01:~# curl -i http://127.0.0.1:40001/rocketchat/api/info
HTTP/1.1 200 ตกลง
X-XSS-การป้องกัน: 1
X-Content-Type-Options: ไร้สาระ
X-Frame-Options: sameorigin
นโยบายความปลอดภัยเนื้อหา: default-src 'self' ; เชื่อมต่อ-src *; font-src ข้อมูล 'ตัวเอง':; เฟรม-src *; img-src * ข้อมูล:; ข้อมูลสื่อ src *:; script-src 'ตัวเอง' 'ไม่ปลอดภัย eval' ; style-src 'ตัวเอง' 'ไม่ปลอดภัยในบรรทัด' 
X-Instance-ID: QkBHePxDKXAd2ZaNk
การควบคุมแคช: ไม่มีการจัดเก็บ
Pragma: ไม่มีแคช
ประเภทเนื้อหา: application/json
การควบคุมการเข้าถึงอนุญาตต้นทาง: *
access-control-allow-headers: Origin, X-Requested-With, Content-Type, Accept, X-User-Id, X-Auth-Token
Vary: ยอมรับการเข้ารหัส
วันที่: วันเสาร์ที่ 19 กุมภาพันธ์ 2022 10:54:44 GMT
การเชื่อมต่อ: มีชีวิตอยู่
Keep-Alive: หมดเวลา = 5
การเข้ารหัสการถ่ายโอน: chunked

{"version":"3.18.2","success":true}

บางทีนี่อาจช่วยได้?

Score:0
ธง cn

ขอบคุณสำหรับการสนับสนุน! ฉันกำลังพยายามทำความเข้าใจ mod_rewrite. ฉันเพิ่งดูเอกสาร apache บน mod_proxy. ฉันเดาว่าฉันไม่ต้องการ พี ตั้งค่าสถานะเนื่องจากฉันต้องการเขียน URL ใหม่เท่านั้น

หากฉันเข้าใจเอกสารอย่างถูกต้อง ตัวอย่างที่ฉันทำก็จะ: พี ไม่มีธง "พร็อกซีพาส" และ "ProxyPassย้อนกลับ“ก็คงไม่มีเหตุผลเหมือนกันใช่ไหม?

ด้วย "ไดเรกทอรีราก" คุณหมายถึงแอปหรือเว็บเซิร์ฟเวอร์หรือ VHOST ที่กำหนดค่าที่นั่นหรือไม่ ที่อยู่ในคอนเทนเนอร์ Docker หลังจากทั้งหมด หรือโดย "ไดเรกทอรีราก" คุณหมายถึง VHOST "นอก" ของ Docker เช่นบนเซิร์ฟเวอร์ Univention ที่ฉันพยายามกำหนดค่าที่นี่ตอนนี้หรือไม่

เลยต้องต่อท้าย"\" ข้างหน้าแต่ละรายการใน เขียนซ้ำ?

ฉันไม่รู้ว่า "บ้าน" เป็นฟิสิคัลไดเร็กทอรีหรือไม่ ฉันเพิ่งเห็นมันเป็นผลลัพธ์ในเบราว์เซอร์ ฉันเปิดเปลือกของคอนเทนเนอร์ Docker แต่ไม่พบการกำหนดค่าเว็บเซิร์ฟเวอร์ที่นั่น

ผมก็ลองทำตามนี้ครับ ครั้งหนึ่งกับ...บ้าน/ และด้วย..บ้าน.

ผลที่ได้เป็นแบบเดียวกันเสมอ:

ไม่พบ ไม่พบ URL ที่ร้องขอบนเซิร์ฟเวอร์นี้

โพสต์คำตอบ

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