[[目錄]]
Pterodactyl Panel 允許使用者建立其伺服器的備份。為了建立備份,必須配置備份儲存方法。
當更改翼龍面板的備份儲存方式時,使用者仍然可以從先前的儲存驅動程式下載或刪除現有的備份。在從 S3 遷移到本機備份的實例中,切換到本機備份儲存方法後,S3 憑證必須保持配置狀態。
預設情況下,Pterodactyl Panel 透過 Wings 使用本機儲存進行備份。也就是說,可以使用 .env 檔案中的下列組態明確設定此備份儲存方法:
# Sets your panel to use local storage via Wings for backups
APP_BACKUP_DRIVER=wings
請注意,透過 Wings 使用本機儲存空間時,備份目標會在 Wings 的 config.yml 中使用下列設定鍵進行設定:
system:
backup_directory: /path/to/backup/storage
AWS S3(或相容儲存)可用於儲存遠端或基於雲端的備份。必須在 .env 檔案中設定下列組態選項或將其設為環境變數才能啟用它:
# Sets your panel to use s3 for backups
APP_BACKUP_DRIVER=s3
# Info to actually use s3
AWS_DEFAULT_REGION=
AWS_ACCESS_KEY_ID=
AWS_SECRET_ACCESS_KEY=
AWS_BACKUPS_BUCKET=
AWS_ENDPOINT=
對於某些配置,您可能需要將 S3 URL 從 bucket.domain.com 變更為 domain.com/bucket 。為此,請將 AWS_USE_PATH_STYLE_ENDPOINT=true 加入 .env 檔案。
S3 備份使用 S3 分段上傳功能。在極少數情況下,您可能需要調整單一部分的大小或產生的預簽名 URL 的生命週期。預設部分大小為 5GB,預設預簽名 URL 生命週期為 60 分鐘。
您可以使用 BACKUP_MAX_PART_SIZE 環境變數來配置最大零件大小。您必須指定大小(以位元組為單位)。若要定義預簽名 URL 生命週期,請使用 BACKUP_PRESIGNED_URL_LIFESPAN 變數。預期單位是分鐘。
以下 .env 片段配置 1GB 部分並使用 120 分鐘作為預簽名 URL 生命週期:
BACKUP_MAX_PART_SIZE=1073741824
BACKUP_PRESIGNED_URL_LIFESPAN=120
如果您需要指定儲存類別,請使用 AWS_BACKUPS_STORAGE_CLASS 環境變數。預設選項是 STANDARD (S3 標準)。
下列 .env 程式碼片段將類別設為 STANDARD_IA (這是一個範例)。
# STANDARD_IA is an example.
AWS_BACKUPS_STORAGE_CLASS=STANDARD_IA
當在反向代理程式後面執行 Pterodactyl 時,例如 Cloudflare's Flexible SSL (opens new window) 或者 Nginx/Apache/Caddy 等,您將需要對面板進行快速修改,以確保事情繼續按預期工作。預設情況下,當使用這些反向代理時, 您的面板將無法正確處理請求。當瀏覽器控制台嘗試載入不安全的資產時,您很可能無法登入或看到安全性警告。 這是因為面板用於確定如何產生連結的內部邏輯認為它是透過 HTTP 而不是透過 HTTPS 運行的。
您需要編輯面板根目錄中的 .env 檔案以至少包含 TRUSTED_PROXIES=*。我們強烈建議提供特定的 IP 位址
(或以逗號分隔的 IP 清單)而不是允許 * 。例如,如果您的代理程式與伺服器在同一台電腦上執行,
像 TRUSTED_PROXIES=127.0.0.1 這樣的東西很可能適合你。
為了讓 Pterodactyl 正確回應 NGINX 反向代理,NGINX location 設定必須包含下列行:
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header Host $host;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_redirect off;
proxy_buffering off;
proxy_request_buffering off;
如果您使用 Cloudflare 的彈性 SSL,則應設定 TRUSTED_PROXIES 以包含 their IP addresses (opens new window) 。
下面是如何設定的範例。
TRUSTED_PROXIES=173.245.48.0/20,103.21.244.0/22,103.22.200.0/22,103.31.4.0/22,141.101.64.0/18,108.162.192.0/18,190.93.240.0/20,188.114.96.0/20,197.234.240.0/22,198.41.128.0/17,162.158.0.0/15,104.16.0.0/13,104.24.0.0/14,172.64.0.0/13,131.0.72.0/22
此面板使用不可見的 reCAPTCHA 來保護登入頁面免受暴力攻擊。如果登入嘗試被認為可疑,則可能會要求使用者執行 reCAPTCHA 質詢。
雖然我們預設提供全域網站金鑰和秘密金鑰,但我們強烈建議您根據自己的設定更改它。
您可以在 reCAPTCHA Admin Console (opens new window) 中產生自己的金鑰。
然後可以使用管理面板中的「設定」來套用這些金鑰。 reCAPTCHA 設定可以在 進階 選項卡上找到。
:::警告 安全警告 我們不建議禁用 reCAPTCHA。這是一種安全機制,使對使用者帳戶執行暴力攻擊變得更加困難。 :::
如果使用者登入時遇到問題,或者您的面板未暴露在網路上,則停用 reCAPTCHA 可能是有意義的。
使用管理面板可以輕鬆停用 reCAPTCHA。在「設定」中,選擇「進階」選項卡,並將 reCAPTCHA 的「狀態」設定為「已停用」。
如果無法存取面板,可以使用下列命令直接修改資料庫。
# If using MariaDB (v11.0.0+)
mariadb -u root -p
# If using MySQL
mysql -u root -p
UPDATE panel.settings SET value = 'false' WHERE `key` = 'settings::recaptcha:enabled';
如果可能,您應該使用該面板來更新您的 2FA 設定。如果您因某種原因無法存取面板,可以使用下列步驟。
# If using MariaDB (v11.0.0+)
mariadb -u root -p
# If using MySQL
mysql -u root -p
UPDATE panel.settings SET value = 0 WHERE `key` = 'settings::pterodactyl:auth:2fa_required';
在 /var/www/pterodactyl 目錄中執行下列命令。
php artisan p:user:disable2fa
自 1.11 起,Panel 收集有關 Panel 和所有連接節點的匿名指標。 該功能預設為啟用,但可以停用。
此功能收集的資料不會出售或用於廣告目的。 總計統計 為了改善軟體的目的,可能會公開或與第三方分享。
遙測系統的工作原理是首先為面板安裝產生一個隨機 UUIDv4 識別碼。 該標識符儲存在資料庫中,因此對多個面板實例進行負載平衡的人們仍然可以 有一個唯一的識別符。 然後,該標識符連同相關聯的資訊一起傳送到遠端伺服器 遙測數據。 遥测数据每 24 小时收集一次,没有持续收集 或遙測數據的本地存儲,我們在將數據發送到遠端之前收集數據 伺服器.
目前,所有遙測收集邏輯均由 TelemetryCollectionService (opens new window) 處理 在面板上。 該服務負責收集發送到遠端的所有數據 伺服器.
如果您希望查看收集的完整數據,請查看 TelemetryCollectionService
(如上面連結),或使用 php artisan p:telemetry 命令查看將要執行的確切數據
被發送到遠端伺服器。
截至 2022 年 12 月 12 日,收集的資料包括:
amd64 、 arm64 等)目前,資料儲存在 Cloudflare 中,我們使用 Worker 來取得所有遙測數據,該 Worker 會執行以下操作: 進行驗證等基本處理,然後將其插入 Cloudflare D1。 目前,還沒有 任何收集的資料的 API 或視覺化,並且只能手動查詢。 僅有的 Matthew 此時能夠查詢數據,但我們正在研究替代方案來製作此數據 更容易接近。
### 為什麼?
收集這些數據的主要原因是幫助我們對未來做出更好的決策 這個軟體。 隨著1.11的發布,最低PHP版本要求從7.4躍升至8.0, 然而,我們想增加一個需要 PHP 8.1 的功能,這會提出版本要求 jump larger and potentially cause issues for some users. By collecting this data, we can hopefully 更深入地了解此類變化將如何影響社區並做出更好的決策 未來。 這對於架構、核心版本等資訊尤其重要 節點正在使用的作業系統。 例如,我們想要利用僅存在於 一些檔案系統,但我們不知道有多少人正在使用這些檔案系統,所以我們不能 確定是否值得付出努力來實施。
有些數據對於做出決策來說並不那麼有用,但對於我們了解仍然有用。 例如,您是否想知道有多少個面板實例? 有多少台伺服器 遇到過所有這些情況嗎? 有多少用戶正在使用面板? 這些用戶中有多少人 管理員? 有多少台伺服器正在使用某個特定的 Egg? 有多少伺服器正在使用特定的巢? 所有這些問題都可以透過我們收集的數據來回答,並且可以幫助我們和社區 更了解軟體的使用方式。
如果您對我們收集的數據有任何疑問,請隨時在 Discord 上與我們聯繫。 我們的目標是盡可能透明,我們希望確保社區理解 我們正在做什麼以及為什麼。
遙測預設啟用,如果您想在停用後啟用它,請編輯您的 .env 文件
並刪除 PTERODACTYL_TELEMETRY_ENABLED 行,或將其設為 true 。
PTERODACTYL_TELEMETRY_ENABLED=true
您也可以使用 php artisan p:environment:setup 指令來啟用遙測,可以選擇使用
非互動式設定的 --telemetry 標誌。
若要停用遙測,請編輯 .env 檔案並將 PTERODACTYL_TELEMETRY_ENABLED 設定為 false 。
PTERODACTYL_TELEMETRY_ENABLED=false
您也可以使用 php artisan p:environment:setup 指令停用遙測,可以選擇使用
非互動式設定的 --telemetry=false 標誌。