mirror of
https://github.com/XTLS/Xray-docs-next.git
synced 2026-10-01 03:18:06 +03:00
Tutorial: Fix incorrect description
#819 #820 Co-authored-by: weycen <22557692+weycen@users.noreply.github.com> Co-authored-by: ts0307 <3348532+ts0307@users.noreply.github.com>
This commit is contained in:
co-authored by
weycen
ts0307
parent
cc8f03de78
commit
ee825d5fd9
@@ -85,62 +85,7 @@ Xray основан на проекте с открытым исходным к
|
||||
|
||||

|
||||
|
||||
5. `acme.sh` проверяет срок действия сертификата каждые 60 дней и автоматически обновляет его при необходимости. Однако, насколько мне известно, он не устанавливает новый сертификат для `xray-core` автоматически. Поэтому нам нужно добавить автоматическое задание cron, которое будет делать это за нас.
|
||||
1. Базовые команды Linux:
|
||||
|
||||
| Номер | Команда | Описание |
|
||||
| :------: | :----------: | :------------------------------------------- |
|
||||
| `cmd-15` | `crontab -e` | Редактирование crontab текущего пользователя |
|
||||
|
||||
2. Создаём файл скрипта (`xray-cert-renew.sh`):
|
||||
|
||||
```shell
|
||||
nano ~/xray_cert/xray-cert-renew.sh
|
||||
```
|
||||
|
||||
3. Копируем в него следующий код, заменив `sub.yourdomain.com` на своё доменное имя, и сохраняем файл:
|
||||
|
||||
```bash
|
||||
#!/bin/bash
|
||||
|
||||
/home/vpsadmin/.acme.sh/acme.sh --install-cert -d sub.yourdomain.com --ecc --fullchain-file /home/vpsadmin/xray_cert/xray.crt --key-file /home/vpsadmin/xray_cert/xray.key
|
||||
echo "Xray Certificates Renewed"
|
||||
|
||||
chmod +r /home/vpsadmin/xray_cert/xray.key
|
||||
echo "Read Permission Granted for Private Key"
|
||||
|
||||
sudo systemctl restart xray
|
||||
echo "Xray Restarted"
|
||||
```
|
||||
|
||||
::: warning
|
||||
Как заметили пользователи, `acme.sh` имеет команду `reloadcmd`, которая позволяет выполнить произвольную команду после обновления сертификата. Таким образом, можно настроить автоматическую установку сертификата для `Xray`. Однако, поскольку `crontab` — очень полезный и часто используемый инструмент в Linux, в данном руководстве мы будем использовать его для обновления сертификата `Xray`. (Подробнее о команде `reloadcmd` можно прочитать в [документации `acme.sh`](https://github.com/acmesh-official/acme.sh)).
|
||||
|
||||
Кроме того, в момент записи гифки в скрипт не была добавлена команда перезапуска `Xray`, поскольку в планах разработчиков `Xray` — поддержка **горячего обновления сертификатов**. Это означает, что `Xray` сможет автоматически обнаруживать обновление сертификата и перезагружать его без необходимости перезапуска. После добавления этой функции я обновлю конфигурацию `config.json`, включив эту настройку, и удалю команду перезапуска из скрипта.
|
||||
:::
|
||||
|
||||
4. Делаем скрипт исполняемым:
|
||||
|
||||
```shell
|
||||
chmod +x ~/xray_cert/xray-cert-renew.sh
|
||||
```
|
||||
|
||||
5. Запускаем `crontab -e`, чтобы добавить задание на автоматическое выполнение `xray-cert-renew.sh` каждый месяц (не используйте `sudo`, так как мы добавляем задание для пользователя `vpsadmin`. При первом запуске `crontab` вам будет предложено выбрать редактор. Выбираем знакомый нам `nano`!):
|
||||
|
||||
```shell
|
||||
crontab -e
|
||||
```
|
||||
|
||||
6. Добавляем следующую строку в конец файла и сохраняем его:
|
||||
|
||||
```
|
||||
# 1:00am, 1st day each month, run `xray-cert-renew.sh`
|
||||
0 1 1 * * bash /home/vpsadmin/xray_cert/xray-cert-renew.sh
|
||||
```
|
||||
|
||||
7. Весь процесс показан на гифке:
|
||||
|
||||

|
||||
5. `acme.sh` будет проверять раз в день и автоматически обновлять сертификаты, срок действия которых истекает менее чем через 30 дней. Xray по умолчанию автоматически перезагружает сертификаты, так что нет необходимости беспокоиться о последующих обновлениях сертификатов.
|
||||
|
||||
## 7.4 Настройка Xray
|
||||
|
||||
|
||||
Reference in New Issue
Block a user