فعالسازی SSL
با فعالسازی SSL در پاسارگارد، داشبورد و لینک اشتراکگذاری از طریق https در دسترس خواهند بود. در ادامه چند روش مختلف برای فعالسازی SSL در پاسارگارد را از ساده به پیچیده توضیح میدهیم.
در تمام مثالهای زیر فایلهای docker-compose.yml و .env در مسیر /opt/pasarguard و فایل xray_config.json در مسیر /var/lib/pasarguard قرار دارند.
اگر پاسارگارد را بهصورت دستی نصب کردهاید، باید تغییرات لازم را خودتان اعمال کنید.
فعالسازی SSL با Caddy
در این روش نیازی به ایجاد دستی گواهی SSL نیست — Caddy همهٔ کارها را برای شما انجام میدهد.
تغییر در docker-compose.yml
فایل docker-compose.yml را به صورت زیر ویرایش کنید:
services:
pasarguard:
image: pasarguard/Panel:latest
restart: always
env_file: .env
network_mode: host
volumes:
- /var/lib/pasarguard:/var/lib/pasarguard
depends_on:
- caddy
caddy:
image: caddy
restart: always
ports:
- 80:80
- 443:443
volumes:
- /var/lib/pasarguard:/var/lib/pasarguard
- ./Caddyfile:/etc/caddy/Caddyfile
- caddy_volume:/data
- caddy_volume:/config
volumes:
caddy_volume:ایجاد فایل Caddyfile
یک فایل جدید به نام Caddyfile در مسیر /opt/pasarguard بسازید و YOUR_DOMAIN را با دامنه یا زیردامنهٔ مدنظر خود جایگزین کنید.
نام فایل Caddyfile باید با حرف بزرگ C شروع شود.
YOUR_DOMAIN {
reverse_proxy unix//var/lib/pasarguard/pasarguard.socket
}اگر میخواهید دامنهٔ اشتراک (subscription) با دامنهٔ پنل متفاوت باشد، محتوای بالا را برای هر دامنه/زیردامنه تکرار کرده و YOUR_DOMAIN را در هر مورد جایگزین کنید.
تنظیم متغیرهای محیطی
متغیرهای زیر را در فایل .env تنظیم کنید.
YOUR_DOMAIN را با دامنه یا زیردامنهٔ موردنظر جایگزین کنید.
UVICORN_UDS = /var/lib/pasarguard/pasarguard.socket
XRAY_SUBSCRIPTION_URL_PREFIX = https://YOUR_DOMAINراهاندازی مجدد پاسارگارد
پاسارگارد را ریاستارت کنید:
PasarGuard restartحالا داشبورد پاسارگارد از طریق https و دامنه/زیردامنهٔ شما در دسترس خواهد بود.
فعالسازی SSL با Uvicorn
پاسارگارد بهصورت پیشفرض با Uvicorn اجرا میشود. Uvicorn همچنین امکان تعریف فایلهای گواهی SSL را فراهم میکند.
دریافت گواهی SSL
ابتدا باید فایلهای گواهی برای دامنه یا زیردامنهٔ خود را تهیه کنید. برای این کار به آموزش صدور گواهی SSL مراجعه کنید.
تنظیم متغیرهای محیطی
پس از ایجاد فایلهای گواهی، متغیرهای زیر را در فایل .env تنظیم کنید.
YOUR_DOMAIN را با دامنه یا زیردامنهٔ موردنظر جایگزین کنید.
UVICORN_PORT = 443
UVICORN_SSL_CERTFILE = "/var/lib/pasarguard/certs/YOUR_DOMAIN.cer"
UVICORN_SSL_KEYFILE = "/var/lib/pasarguard/certs/YOUR_DOMAIN.cer.key"
XRAY_SUBSCRIPTION_URL_PREFIX = https://YOUR_DOMAINحالا داشبورد پاسارگارد از طریق https و دامنه/زیردامنهٔ شما در دسترس خواهد بود.
فعالسازی SSL با HAProxy
HAProxy یکی از ابزارهای مناسب برای این کار است. در این روش با کمک HAProxy، پاسارگارد را از طریق https اجرا میکنیم.
دریافت گواهی SSL
ابتدا باید فایلهای گواهی برای دامنه یا زیردامنهٔ خود را تهیه کنید. برای این کار به آموزش صدور گواهی SSL مراجعه کنید.
تغییر در docker-compose.yml
فایل docker-compose.yml را به صورت زیر ویرایش کنید:
services:
PasarGuard:
image: pasarguard/panel:latest
restart: always
env_file: .env
network_mode: host
volumes:
- /var/lib/pasarguard:/var/lib/pasarguard
depends_on:
- haproxy
haproxy:
image: haproxy:latest
restart: always
volumes:
- ./haproxy.cfg:/usr/local/etc/haproxy/haproxy.cfg
- /var/lib/pasarguard:/var/lib/pasarguard
ports:
- 80:80
- 443:443ایجاد haproxy.cfg
یک فایل جدید به نام haproxy.cfg در مسیر /opt/PasarGuard بسازید و YOUR_DOMAIN را با دامنه یا زیردامنهٔ مدنظر جایگزین کنید.
defaults
mode tcp
timeout client 30s
timeout connect 4s
timeout server 30s
global
maxconn 10000000
frontend http_frontend
bind *:80
mode http
redirect scheme https code 301 if !{ ssl_fc }
frontend https_frontend
bind *:443 ssl crt /var/lib/pasarguard/certs/YOUR_DOMAIN.cer
default_backend PasarGuard_backend
backend PasarGuard_backend
server PasarGuard /var/lib/pasarguard/pasarguard.socketتنظیم متغیرهای محیطی
متغیرهای زیر را در فایل .env تنظیم کنید.
YOUR_DOMAIN را با دامنه یا زیردامنهٔ موردنظر جایگزین کنید.
UVICORN_UDS = /var/lib/pasarguard/pasarguard.socket
XRAY_SUBSCRIPTION_URL_PREFIX = https://YOUR_DOMAINراهاندازی مجدد پاسارگارد
پاسارگارد را ریاستارت کنید:
PasarGuard restartحالا داشبورد پاسارگارد از طریق https و دامنه/زیردامنهٔ شما در دسترس خواهد بود.