Объединение веб-сервера и прокси-сервера VLESS (Xray) на одном VPS – это вполне осуществимая задача. Давайте пройдемся по основным шагам для вашей ситуации.
### Шаг 1: Проверка конфигурации Apache
Перед началом работы убедитесь, что ваш Apache настроен правильно и работает без ошибок. Убедитесь, что у вас есть следующие виртуальные хосты в конфигурации Apache.
1. Откройте конфигурацию Apache:
```bash
sudo nano /etc/apache2/sites-available/000-default.conf
```
2. Убедитесь, что у вас есть следующее:
```apache
<VirtualHost *:80>
ServerName yourdomain.com
DocumentRoot /var/www/html
</VirtualHost>
```
Если вы хотите использовать разные порты, убедитесь, что они указаны и в файле конфигурации для Apache.
### Шаг 2: Настройка VLESS (Xray)
Теперь нам нужно настроить Xray для работы на другом порту.
1. Откройте конфигурационный файл Xray:
```bash
sudo nano /etc/xray/config.json
```
2. Настройте VLESS на прослушивание локального порта. Например, используйте порт `443` для VLESS. Пример конфигурации для `config.json` может выглядеть так:
```json
{
"log": {
"level": "info",
"outbounds": null
},
"inbounds": [
{
"port": 443,
"listen": "127.0.0.1",
"protocol": "vless",
"settings": {
"clients": [
{
"id": "YOUR_UUID",
"alterId": 0
}
],
"decryption": "none"
},
"streamSettings": {
"network": "tls",
"tlsSettings": {
"certificates": [
{
"certificateFile": "/etc/letsencrypt/live/yourdomain.com/fullchain.pem",
"keyFile": "/etc/letsencrypt/live/yourdomain.com/privkey.pem"
}
]
}
}
}
],
"outbounds": [{
"protocol": "freedom",
"settings": {}
}]
}
```
### Шаг 3: Настройка Apache для обратного проксирования
Теперь вам нужно настроить Apache для работы как обратный прокси для Xray. Убедитесь, что у вас установлены необходимые модули Apache:
```bash
sudo a2enmod proxy
sudo a2enmod proxy_http
sudo a2enmod ssl
```
После этого открываем конфигурацию виртуального хоста:
```bash
sudo nano /etc/apache2/sites-available/000-default.conf
```
Добавьте следующий блок в файл, чтобы настроить проксирование:
```apache
<VirtualHost *:80>
ServerName yourdomain.com
DocumentRoot /var/www/html
# Редирект HTTP на HTTPS
RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule ^ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
</VirtualHost>
<VirtualHost *:443>
ServerName yourdomain.com
ProxyPreserveHost On
ProxyPass / vless://127.0.0.1:443
ProxyPassReverse / vless://127.0.0.1:443
SSLEngine On
SSLCertificateFile /etc/letsencrypt/live/yourdomain.com/fullchain.pem
SSLCertificateKeyFile /etc/letsencrypt/live/yourdomain.com/privkey.pem
</VirtualHost>
```
### Шаг 4: Перезапустите службы
После всех изменений перезапустите Apache и Xray:
```bash
sudo systemctl restart apache2
sudo systemctl restart xray
```
### Шаг 5: Проверка
Проверьте, работает ли ваш сайт (перейдите на `https://yourdomain.com`). Также попробуйте подключиться к VLESS используя ваш клиент, указав `yourdomain.com` и UUID, который вы указали в конфигурации Xray.
### Заключение
Теперь ваш веб-сервер и Xray работают на одном VPS. Если у вас возникнут дополнительные вопросы или ошибки, не стесняйтесь спрашивать!