Reverse proxy và URL base
Cài đặt
Đặt HolyArrs ở một địa chỉ như https://home.example/holyarrs phía sau reverse proxy của bạn.
Reverse proxy là máy chủ web đứng trước các ứng dụng của bạn, chuyển mỗi địa chỉ đến đúng container. URL base là đường dẫn mà HolyArrs nằm dưới.
Đặt đường dẫn
Liên kết tới Đặt đường dẫn-
Thêm đường dẫn vào tệp Compose:
services:holyarrs:environment:- HOLYARRS_URL_BASE=/holyarrs -
Khởi động lại container.
-
Thêm một quy tắc proxy từ Ví dụ proxy.
-
Mở
https://home.example/holyarrs/. Bạn sẽ thấy trang đăng nhập. Settings > This app (Cài đặt > Ứng dụng này) hiển thị đường dẫn đang dùng.
Lựa chọn
Liên kết tới Lựa chọnĐặt đường dẫn ở đâu
Liên kết tới Đặt đường dẫn ở đâu| Ở đâu | Có hiệu lực |
|---|---|
HOLYARRS_URL_BASE |
Khi khởi động. Ưu tiên hơn các cách còn lại. |
Cờ -url-base /holyarrs |
Khi khởi động, nếu chưa đặt biến. |
| Settings > This app | Ở lần khởi động kế tiếp, chỉ khi cả biến lẫn cờ đều chưa đặt. |
Ví dụ proxy
Liên kết tới Ví dụ proxynginx-proxy-manager. Tạo một proxy host cho tên miền của bạn, rồi thêm một custom location:
- Location:
/holyarrs - Forward hostname
holyarrs, cổng6262. Không có dấu gạch chéo ở cuối, nếu không đường dẫn sẽ bị cắt. - Trong hộp bánh răng của 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. Đừng thêm middleware StripPrefix.
labels: - traefik.enable=true - traefik.http.routers.holyarrs.rule=Host(`home.example`) && PathPrefix(`/holyarrs`) - traefik.http.services.holyarrs.loadbalancer.server.port=6262Caddy. Dùng handle. handle_path sẽ cắt đường dẫn.
home.example { handle /holyarrs* { reverse_proxy holyarrs:6262 { flush_interval -1 } }}Hostname và địa chỉ proxy
Liên kết tới Hostname và địa chỉ proxy- Nếu mọi người vào HolyArrs bằng một hostname, hãy thêm nó vào
HOLYARRS_ALLOWED_HOSTS. - Nếu proxy thêm
X-Forwarded-For, hãy thêm địa chỉ của proxy vàoHOLYARRS_TRUSTED_PROXIES. Không có nó, đăng nhập không phân biệt được ai đang ở trong mạng ở nhà của bạn.
Nếu không hoạt động
Liên kết tới Nếu không hoạt động| Triệu chứng | Nguyên nhân | Cách khắc phục |
|---|---|---|
| Mọi trang đều báo không tìm thấy | Proxy cắt bỏ đường dẫn | Bỏ tùy chọn cắt, hoặc bỏ dấu gạch chéo ở cuối. |
| Cập nhật trực tiếp không bao giờ đến | Proxy đệm các phản hồi | Tắt buffering (proxy_buffering off, flush_interval -1). |
| Đường dẫn đã lưu khiến bạn bị khóa ngoài | Đường dẫn đã lưu bị sai | Khởi động với HOLYARRS_URL_BASE=/ để bỏ qua nó. |
| Đăng nhập coi bạn như người ở ngoài mạng nhà | Proxy chưa được tin cậy | Gửi X-Real-IP và X-Forwarded-For, và đặt HOLYARRS_TRUSTED_PROXIES. |
Thêm cách khắc phục: Khắc phục sự cố.
Dành cho người dùng nâng cao
Liên kết tới Dành cho người dùng nâng caoQuy tắc về đường dẫn
- Ký tự cho phép: chữ cái, chữ số,
-,_,.và/. Không có..hay//. holyarrs,/holyarrsvà/holyarrs/đều có nghĩa là/holyarrs.- Đường dẫn đã lưu mà không hợp lệ sẽ bị bỏ qua.
- Mọi thứ chuyển xuống dưới đường dẫn: các trang, API, cập nhật trực tiếp, đăng nhập, và các liên kết HolyArrs tạo ra (liên kết mời, feed lịch).
/healthzvà/readyzcũng trả lời ở gốc, để bước kiểm tra tình trạng có sẵn của image vẫn chạy.- Mọi địa chỉ khác nằm ngoài đường dẫn đều trả không tìm thấy.
Proxy phải làm gì
| Yêu cầu | Lý do |
|---|---|
| Chuyển nguyên đường dẫn | HolyArrs định tuyến theo đường dẫn đầy đủ. |
Giữ header Host |
Việc kiểm tra host và các liên kết được tạo ra đều dùng nó. |
| Không đệm phản hồi | Cập nhật trực tiếp truyền qua một phản hồi luôn mở. |
| Thời gian chờ đọc dài (1 giờ) | Luồng cập nhật trực tiếp luôn mở. |
Liên quan
Liên kết tới Liên quanHolyArrs miễn phí. Nếu nó giúp bạn tiết kiệm thời gian, hãy gắn sao trên GitHub, tài trợ dự án hoặc mời tôi một ly cà phê.