- Изменены разделы документации для настройки NGINX Proxy Manager, добавлены инструкции для приложений, работающих на хосте. - Расширена логика получения IP-адреса клиента с учетом дополнительных заголовков и приоритетов, улучшая обработку запросов через прокси. - Добавлены альтернативные способы подключения для случаев, когда `host.docker.internal` не работает.
58 lines
1.8 KiB
Markdown
58 lines
1.8 KiB
Markdown
# Быстрая настройка IP-адресов для nginx Proxy Manager
|
||
|
||
## Ваша ситуация
|
||
|
||
- nginx Proxy Manager работает в Docker
|
||
- Ваше приложение NoteJS работает на хосте (не в Docker)
|
||
- IP-адрес всегда показывает 90.189.198.107 (IP прокси)
|
||
|
||
## Быстрое решение
|
||
|
||
### 1. В nginx Proxy Manager
|
||
|
||
1. Откройте настройки вашего прокси-хоста
|
||
2. В разделе **"Advanced"** → **"Custom Nginx Configuration"** добавьте:
|
||
|
||
```nginx
|
||
proxy_set_header X-Real-IP $remote_addr;
|
||
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
|
||
proxy_set_header X-Forwarded-Proto $scheme;
|
||
proxy_set_header X-Client-IP $remote_addr;
|
||
```
|
||
|
||
### 2. В настройках прокси-хоста
|
||
|
||
- **Forward Hostname/IP:** `host.docker.internal`
|
||
- **Forward Port:** `3000`
|
||
|
||
### 3. Проверка
|
||
|
||
Откройте в браузере: `https://your-domain.com/api/debug/ip`
|
||
|
||
Должно показать реальный IP-адрес клиента вместо 90.189.198.107.
|
||
|
||
### 4. Если не работает
|
||
|
||
1. Проверьте, что приложение слушает на всех интерфейсах:
|
||
|
||
```bash
|
||
netstat -tlnp | grep :3000
|
||
```
|
||
|
||
2. Если видите `127.0.0.1:3000`, измените в `server.js`:
|
||
|
||
```javascript
|
||
app.listen(PORT, "0.0.0.0", () => {
|
||
console.log(`🚀 Сервер запущен на порту ${PORT}`);
|
||
});
|
||
```
|
||
|
||
3. Перезапустите nginx Proxy Manager:
|
||
```bash
|
||
docker restart nginx-proxy-manager
|
||
```
|
||
|
||
## Готово!
|
||
|
||
После этих настроек ваше приложение будет получать реальные IP-адреса клиентов.
|