Доработка Proxy Server
Вынес настройки в конфигурацию, обновил Readme
This commit is contained in:
102
README.md
102
README.md
@@ -78,7 +78,17 @@ go build -o MyApp.exe
|
||||
"host": "127.0.0.1",
|
||||
"alias": ["localhost"],
|
||||
"status": "active",
|
||||
"root_file": "index.html"
|
||||
"root_file": "index.html",
|
||||
"root_file_routing": true
|
||||
}
|
||||
],
|
||||
"Proxy_Service": [
|
||||
{
|
||||
"Enable": true,
|
||||
"ExternalDomain": "git.example.ru",
|
||||
"LocalAddress": "127.0.0.1",
|
||||
"LocalPort": "3333",
|
||||
"UseHTTPS": false
|
||||
}
|
||||
],
|
||||
"Soft_Settings": {
|
||||
@@ -91,30 +101,94 @@ go build -o MyApp.exe
|
||||
|
||||
**Основные параметры:**
|
||||
- `Site_www` - настройки веб-сайтов
|
||||
- `Proxy_Service` - конфигурация прокси-сервисов
|
||||
- `Soft_Settings` - порты и хосты сервисов (MySQL, PHP, админка)
|
||||
|
||||
### 🔄 Прокси-сервер
|
||||
|
||||
Прокси-сервер позволяет перенаправлять внешние запросы на локальные сервисы.
|
||||
|
||||
**Параметры Proxy_Service:**
|
||||
- `Enable` - включить/отключить прокси (true/false)
|
||||
- `ExternalDomain` - внешний домен для перехвата запросов
|
||||
- `LocalAddress` - локальный адрес сервиса
|
||||
- `LocalPort` - порт локального сервиса
|
||||
- `UseHTTPS` - использовать HTTPS для локального подключения (true/false)
|
||||
|
||||
**Пример множественных прокси:**
|
||||
```json
|
||||
"Proxy_Service": [
|
||||
{
|
||||
"Enable": true,
|
||||
"ExternalDomain": "git.example.com",
|
||||
"LocalAddress": "127.0.0.1",
|
||||
"LocalPort": "3000",
|
||||
"UseHTTPS": false
|
||||
},
|
||||
{
|
||||
"Enable": false,
|
||||
"ExternalDomain": "api.example.com",
|
||||
"LocalAddress": "127.0.0.1",
|
||||
"LocalPort": "8080",
|
||||
"UseHTTPS": false
|
||||
}
|
||||
]
|
||||
```
|
||||
|
||||
**Применение изменений:**
|
||||
- Введите команду `config_reload` в консоли для перезагрузки конфигурации
|
||||
- Изменения применятся к новым запросам без перезапуска сервера
|
||||
|
||||
## 📝 Логирование
|
||||
|
||||
Все логи сохраняются в `WebServer/tools/logs/`:
|
||||
|
||||
- 🌐 `logs_http.log` - HTTP запросы
|
||||
- 🔒 `logs_https.log` - HTTPS запросы
|
||||
- 🌐 `logs_http.log` - HTTP запросы (включая прокси P-HTTP)
|
||||
- 🔒 `logs_https.log` - HTTPS запросы (включая прокси P-HTTPS)
|
||||
- 🔄 `logs_proxy.log` - Ошибки прокси-сервера
|
||||
- 🗄️ `logs_mysql.log` - MySQL операции
|
||||
- 🐘 `logs_php.log` - PHP ошибки
|
||||
- ⚙️ `logs_config.log` - Конфигурация
|
||||
- 🔒 `logs_vaccess.log` - Контроль доступа
|
||||
|
||||
## 📝 Сертификаты
|
||||
## 🔐 SSL Сертификаты
|
||||
|
||||
Как установить сертификат ?
|
||||
### Установка сертификата
|
||||
|
||||
1. Открыть каталог WebServer
|
||||
2. Создать папку Cert
|
||||
3. Создать вашу папку с основным доменом или IP для которого нужен сертификат
|
||||
4. Туда положить сертификаты с определёнными именами
|
||||
|
||||
certificate.ctr
|
||||
private.key
|
||||
ca_bundle.crt
|
||||
1. Откройте каталог `WebServer/`
|
||||
2. Создайте папку `cert/` (если её нет)
|
||||
3. Создайте папку с именем вашего домена или IP-адреса
|
||||
4. Поместите в неё файлы сертификатов с **точными** именами:
|
||||
```
|
||||
certificate.crt
|
||||
private.key
|
||||
ca_bundle.crt
|
||||
```
|
||||
5. Сертификат будет автоматически загружен при запуске сервера
|
||||
|
||||
5. Сертификат будет успешно загружен.
|
||||
### 📁 Структура сертификатов
|
||||
|
||||
```
|
||||
WebServer/
|
||||
└── cert/
|
||||
├── example.com/ # Основной домен
|
||||
│ ├── certificate.crt
|
||||
│ ├── private.key
|
||||
│ └── ca_bundle.crt
|
||||
│
|
||||
└── sub.example.com/ # Поддомен (опционально)
|
||||
├── certificate.crt
|
||||
├── private.key
|
||||
└── ca_bundle.crt
|
||||
```
|
||||
|
||||
### 🎯 Работа с поддоменами
|
||||
|
||||
**Важно:** Если для поддомена не создана отдельная папка в `cert/`, то автоматически будет использоваться сертификат родительского домена.
|
||||
|
||||
**Примеры:**
|
||||
- ✅ Запрос к `example.com` → использует сертификат из `cert/example.com/`
|
||||
- ✅ Запрос к `sub.example.com` (папка существует) → использует `cert/sub.example.com/`
|
||||
- ✅ Запрос к `sub.example.com` (папка НЕ существует) → использует `cert/example.com/`
|
||||
|
||||
**Это удобно для wildcard-сертификатов:** достаточно одного сертификата в папке основного домена для всех поддоменов! 🌟
|
Reference in New Issue
Block a user