Reverse proxy และ URL base
ตั้งค่า
ตั้ง HolyArrs ไว้ที่ที่อยู่แบบ https://home.example/holyarrs หลัง reverse proxy ของคุณ
Reverse proxy คือเว็บเซิร์ฟเวอร์ที่อยู่หน้าแอปของคุณ และส่งแต่ละที่อยู่ไปยัง container ที่ถูกต้อง ส่วน URL base คือพาธที่ HolyArrs อยู่ภายใต้
ตั้งพาธ
ลิงก์ไปยัง ตั้งพาธ-
เพิ่มพาธลงในไฟล์ Compose ของคุณ:
services:holyarrs:environment:- HOLYARRS_URL_BASE=/holyarrs -
รีสตาร์ต container
-
เพิ่มกฎ proxy จาก ตัวอย่าง proxy
-
เปิด
https://home.example/holyarrs/จะเห็นหน้าล็อกอิน Settings > This app (การตั้งค่า > แอปนี้) แสดงพาธที่ใช้อยู่
ตัวเลือก
ลิงก์ไปยัง ตัวเลือกตั้งพาธที่ไหนได้บ้าง
ลิงก์ไปยัง ตั้งพาธที่ไหนได้บ้าง| ที่ไหน | มีผลเมื่อ |
|---|---|
HOLYARRS_URL_BASE |
ตอนเริ่ม ชนะอันอื่นทั้งหมด |
แฟลก -url-base /holyarrs |
ตอนเริ่ม เมื่อไม่ได้ตั้งตัวแปร |
| Settings > This app | ตอนเริ่มครั้งถัดไป และเฉพาะเมื่อไม่ได้ตั้งทั้งตัวแปรและแฟลก |
ตัวอย่าง proxy
ลิงก์ไปยัง ตัวอย่าง proxynginx-proxy-manager สร้าง proxy host สำหรับโดเมนของคุณ แล้วเพิ่ม custom location:
- Location:
/holyarrs - Forward hostname
holyarrsport6262ห้ามมีเครื่องหมายสแลชท้าย ไม่เช่นนั้นพาธจะถูกตัดออก - ในกล่องรูปเฟืองของ location นั้น:
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_buffering off;proxy_read_timeout 1h;Traefik อย่าเพิ่ม middleware StripPrefix
labels: - traefik.enable=true - traefik.http.routers.holyarrs.rule=Host(`home.example`) && PathPrefix(`/holyarrs`) - traefik.http.services.holyarrs.loadbalancer.server.port=6262Caddy ใช้ handle ส่วน handle_path จะตัดพาธออก
home.example { handle /holyarrs* { reverse_proxy holyarrs:6262 { flush_interval -1 } }}ชื่อโฮสต์และที่อยู่ของ proxy
ลิงก์ไปยัง ชื่อโฮสต์และที่อยู่ของ proxy- ถ้าผู้ใช้เข้า HolyArrs ด้วยชื่อโฮสต์ ให้เพิ่มชื่อนั้นลงใน
HOLYARRS_ALLOWED_HOSTS - ถ้า proxy เพิ่ม
X-Forwarded-Forให้เพิ่มที่อยู่ของ proxy ลงในHOLYARRS_TRUSTED_PROXIESถ้าไม่ทำ การล็อกอินจะแยกไม่ออกว่าใครอยู่ในเครือข่ายในบ้านของคุณ
ถ้าไม่ทำงาน
ลิงก์ไปยัง ถ้าไม่ทำงาน| อาการ | สาเหตุ | วิธีแก้ |
|---|---|---|
| ทุกหน้าบอกว่าไม่พบ | Proxy ตัดพาธออก | เอาการตั้งค่าที่ตัดพาธออก หรือเอาสแลชท้ายออก |
| อัปเดตแบบสดไม่เคยมาถึง | Proxy พักข้อมูลตอบกลับไว้ (buffer) | ปิด buffering (proxy_buffering off, flush_interval -1) |
| พาธที่บันทึกไว้ทำให้เข้าไม่ได้ | พาธที่บันทึกไว้ผิด | เริ่มด้วย HOLYARRS_URL_BASE=/ เพื่อให้ข้ามค่านั้น |
| การล็อกอินมองว่าคุณอยู่นอกเครือข่าย | Proxy ไม่ได้อยู่ในรายการที่เชื่อถือ | ส่ง X-Real-IP และ X-Forwarded-For และตั้ง HOLYARRS_TRUSTED_PROXIES |
วิธีแก้อื่น ๆ: การแก้ปัญหา
สำหรับผู้เชี่ยวชาญ
ลิงก์ไปยัง สำหรับผู้เชี่ยวชาญกฎของพาธ
- ตัวอักษรที่อนุญาต: ตัวอักษร ตัวเลข
-,_,.และ/ห้ามมี..หรือ// holyarrs,/holyarrsและ/holyarrs/ล้วนหมายถึง/holyarrs- พาธที่บันทึกไว้แต่ไม่ถูกต้องจะถูกข้าม
- ทุกอย่างย้ายไปอยู่ใต้พาธ: หน้า API อัปเดตแบบสด ล็อกอิน และลิงก์ที่ HolyArrs สร้างเอง (ลิงก์เชิญ ฟีดปฏิทิน)
/healthzและ/readyzตอบที่ราก (root) ด้วย การตรวจสุขภาพของ image เองจึงยังใช้ได้- ที่อยู่อื่นนอกพาธจะตอบว่าไม่พบ
Proxy ต้องทำอะไร
| ต้อง | เหตุผล |
|---|---|
| ส่งพาธต่อโดยไม่แก้ไข | HolyArrs ส่งต่อตามพาธเต็ม |
คง header Host ไว้ |
การตรวจโฮสต์และลิงก์ที่สร้างขึ้นใช้ค่านี้ |
| ไม่พักข้อมูลตอบกลับ | อัปเดตแบบสดไหลผ่านคำตอบเดียวที่เปิดค้างไว้ |
| Read timeout นาน (1 ชั่วโมง) | สตรีมอัปเดตแบบสดเปิดค้างอยู่ |
หน้าที่เกี่ยวข้อง
ลิงก์ไปยัง หน้าที่เกี่ยวข้องHolyArrs ใช้ได้ฟรี ถ้าช่วยประหยัดเวลาคุณได้ กดดาวบน GitHub, สนับสนุนโปรเจกต์ หรือ เลี้ยงกาแฟผู้พัฒนา