mirror of
https://github.com/MHSanaei/3x-ui.git
synced 2026-11-12 16:15:02 +03:00
docs: vendor the documentation site into the monorepo
Fold the standalone 3x-ui-docs project (Next.js 16 + Fumadocs, deployed to docs.sanaei.dev) into docs/ so the panel and its documentation share a single source of truth, the way sing-box keeps its docs in-tree. The old repo becomes redundant and can be retired. - Import the full site under docs/ (app, components, content, lib, public, scripts, config). The self-contained pnpm project sits alongside the existing engineering notes with no filename collisions. - Re-point "Edit on GitHub" links from MHSanaei/3x-ui-docs to this repo's docs/content/docs path (docs/lib/shared.ts, docs/app/.../page.tsx). - Add docs-ci.yml and docs-deploy.yml under .github/workflows/, scoped to docs/** and run with working-directory: docs, since GitHub only runs workflows from the repo-root .github/. deploy-static.yml's GitHub Pages publish (CNAME docs.sanaei.dev) carries over unchanged. Follow-up (outside this commit): attach the docs.sanaei.dev custom domain to this repository's Pages (or set the Vercel project's root directory to docs), confirm the site is live from the monorepo, then delete MHSanaei/3x-ui-docs.
This commit is contained in:
@@ -0,0 +1,51 @@
|
||||
---
|
||||
title: پراکسی معکوس
|
||||
description: قرار دادن پنل و اشتراک 3x-ui پشت Nginx یا Caddy همراه با TLS از Let's Encrypt.
|
||||
icon: Waypoints
|
||||
---
|
||||
|
||||
پراکسی معکوس به شما امکان میدهد پنل و اشتراک را روی یک دامنه تمیز با HTTPS خودکار
|
||||
ارائه دهید و پورتهای واقعی را پشت پورتهای 80/443 پنهان کنید. ترجیح میدهید خودِ
|
||||
پنل مستقیماً TLS را مدیریت کند؟ بهجای آن، گواهی را از طریق
|
||||
[منوی SSL در `x-ui`](/docs/config/ssl-certificates) دریافت کنید.
|
||||
|
||||
## ساخت یک پیکربندی
|
||||
|
||||
<ReverseProxyGenerator />
|
||||
|
||||
<Callout type="info">
|
||||
پنل برای بهروزرسانیهای زنده از WebSockets استفاده میکند، بنابراین پراکسی باید
|
||||
هدرهای `Upgrade`/`Connection` را عبور دهد (خروجی Nginx بالا این کار را انجام
|
||||
میدهد). Caddy ارتقاهای WebSocket را بهصورت خودکار مدیریت میکند.
|
||||
</Callout>
|
||||
|
||||
## Nginx + گواهی
|
||||
|
||||
با Nginx، گواهی را با `certbot` (یا `acme.sh`) دریافت کنید و در بلوک server به آن
|
||||
ارجاع دهید:
|
||||
|
||||
```bash title="certbot"
|
||||
certbot certonly --nginx -d panel.example.com
|
||||
```
|
||||
|
||||
پس از نصب گواهی، Nginx را بارگذاری مجدد کنید و تمدید خودکار را راهاندازی کنید
|
||||
(`certbot renew` بهصورت پیشفرض روی یک تایمر اجرا میشود).
|
||||
|
||||
## Caddy
|
||||
|
||||
Caddy گواهیها را برای شما دریافت و تمدید میکند — یک Caddyfile را به پنل اشاره
|
||||
دهید و همهچیز کار میکند:
|
||||
|
||||
```text title="Caddyfile"
|
||||
panel.example.com {
|
||||
reverse_proxy 127.0.0.1:2053
|
||||
}
|
||||
```
|
||||
|
||||
## نکتهها
|
||||
|
||||
- حتی پشت یک پراکسی هم **مسیر پایه وب** پنل را حفظ کنید؛ دفاع لایهبهلایه.
|
||||
- اگر TLS را در پراکسی مدیریت میکنید، ممکن است بخواهید `XUI_SKIP_HSTS=true` را روی
|
||||
پنل تنظیم کنید — به [مرجع متغیرهای محیطی](/docs/reference/env-vars) مراجعه کنید.
|
||||
- سرور [اشتراک](/docs/config/subscription) را هم پراکسی کنید تا محتوای آن نیز روی
|
||||
HTTPS ارائه شود.
|
||||
Reference in New Issue
Block a user