Nginx proxy manager

— Этот проект поставляется в виде предварительно созданного образа docker, который позволяет вам легко перенаправлять на ваши веб-сайты, работающие дома или иным образом, включая бесплатный SSL, без необходимости слишком много знать о Nginx или Letsencrypt.

Основное:

Официальный сайт — https://nginxproxymanager.com/

Docker — https://hub.docker.com/r/jc21/nginx-proxy-manager

Исходный код — https://github.com/jc21/nginx-proxy-manager

Минимальные системные требование:

Ядер
Оперативной памяти— ГБ

Использование:

Стандартный логин[email protected]
Стандартный парольchangeme
Стандартный портhttps://site:81 (80,443)
Конфигурация/app/config/
Конфигурация Docker/Docker/Proxy-Manager/Config/

🛠 Install

🐳 Install Docker

Install Docker

Скачать Nginx proxy manager

2) sudo docker pull jc21/nginx-proxy-manager:github-real_ip `#Download/update image`

Установка Nginx proxy manager на Ubuntu/CentOS/Fedora/Windows

Используя версию latest (вы не увидите реальный ip пользователей, но у вас будет актуальная версия)

3.1) docker run -d \
--name=Proxy-Manager \
--network host -e TZ=Europe/Moscow --restart=always \
-e DB_MYSQL_HOST=IP -e DB_MYSQL_NAME=Proxy-Manager -e DB_MYSQL_USER=DataBaseUser -e DB_MYSQL_PASSWORD=Password -e DB_MYSQL_PORT=3307 \
--volume /Docker/Proxy-Manager/data:/data --volume /Docker/Proxy-Manager/letsencrypt:/etc/letsencrypt \
jc21/nginx-proxy-manager:latest

или в одной строке

docker run -d --name=Proxy-Manager --network host -e TZ=Europe/Moscow --restart=always -e DB_MYSQL_HOST=IP -e DB_MYSQL_NAME=Proxy-Manager -e DB_MYSQL_USER=DataBaseUser -e DB_MYSQL_PASSWORD=Password -e DB_MYSQL_PORT=3307 --volume /Docker/Proxy-Manager/data:/data --volume /Docker/Proxy-Manager/letsencrypt:/etc/letsencrypt jc21/nginx-proxy-manager:latest 

Используя версию github-real_ip (вы увидите реальный IP-адрес пользователей, но она устаревшая)

3.1) docker run -d \
--name=Proxy-Manager \
--network host -e TZ=Europe/Moscow --restart=always \
-e DB_MYSQL_HOST=IP -e DB_MYSQL_NAME=Proxy-Manager -e DB_MYSQL_USER=DataBaseUser -e DB_MYSQL_PASSWORD=Password -e DB_MYSQL_PORT=3307 \
--volume /Docker/Proxy-Manager/data:/data --volume /Docker/Proxy-Manager/letsencrypt:/etc/letsencrypt \
jc21/nginx-proxy-manager:github-real_ip

или в одной строке

docker run -d --name=Proxy-Manager --network host -e TZ=Europe/Moscow --restart=always -e DB_MYSQL_HOST=IP -e DB_MYSQL_NAME=Proxy-Manager -e DB_MYSQL_USER=DataBaseUser -e DB_MYSQL_PASSWORD=Password -e DB_MYSQL_PORT=3307 --volume /Docker/Proxy-Manager/data:/data --volume /Docker/Proxy-Manager/letsencrypt:/etc/letsencrypt jc21/nginx-proxy-manager:github-real_ip 

Настройка

Подключение к базе данных

Смотрите дополнительную иструкцию Установка базы данных

docker cp Proxy-Manager:/app/config/default.json /root/default.json

cp default.json production.json

rm default.json

Change base in production.json

docker cp production.json Proxy-Manager:/app/config/production.json

Разное

Enable SSL fix for Nginx proxy manager

include conf.d/include/force-ssl.conf;

See real ip

proxy_set_header Accept-Encoding ""; # no compression allowed
sub_filter_once off;
proxy_set_header X-Real-IP $remote_addr;

Mixed content fix

sub_filter "https:" "https:";

Real ip for CloudFlare

# Real ip for CloudFlare  
# https://support.cloudflare.com/hc/en-us/articles/200170786-Restoring-original-visitor-IPs  
# That list of prefixes needs to be updated regularly, and we publish the full list in Cloudflare IP addresses.  
# https://www.cloudflare.com/ips/  
#  
set_real_ip_from 103.21.244.0/22;
set_real_ip_from 103.22.200.0/22;
set_real_ip_from 103.31.4.0/22;
set_real_ip_from 104.16.0.0/13;
set_real_ip_from 104.24.0.0/14;
set_real_ip_from 108.162.192.0/18;
set_real_ip_from 131.0.72.0/22;
set_real_ip_from 141.101.64.0/18;
set_real_ip_from 162.158.0.0/15;
set_real_ip_from 172.64.0.0/13;
set_real_ip_from 173.245.48.0/20;
set_real_ip_from 188.114.96.0/20;
set_real_ip_from 190.93.240.0/20;
set_real_ip_from 197.234.240.0/22;
set_real_ip_from 198.41.128.0/17;
set_real_ip_from 2400:cb00::/32;
set_real_ip_from 2606:4700::/32;
set_real_ip_from 2803:f800::/32;
set_real_ip_from 2405:b500::/32;
set_real_ip_from 2405:8100::/32;
set_real_ip_from 2c0f:f248::/32;
set_real_ip_from 2a06:98c0::/29;
#use any of the following two
real_ip_header CF-Connecting-IP;
#real_ip_header X-Forwarded-For;

#Home Assistant fix
proxy_set_header Accept-Encoding ""; # no compression allowed
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;

Nginx proxy manager + Hestia-CP

Docker Compose

nano docker-compose.yml
version: '3'

services:
nginxproxy:
container_name: Proxy-Manager
image: jc21/nginx-proxy-manager:github-real_ip
volumes:
- /Docker/Proxy-Manager/data:/data
- /Docker/Proxy-Manager/letsencrypt:/etc/letsencrypt \
restart: always
network_mode: host
environment:
TZ: Europe/Moscow
DB_MYSQL_HOST: IP
DB_MYSQL_NAME: Proxy-Manager
DB_MYSQL_USER: DataBaseUser
DB_MYSQL_PASSWORD: Password
DB_MYSQL_PORT: 3307

hestiacp:
privileged: true
container_name: Hestia-CP
hostname: 'cp.yourdomain.com'
image: smied/hestia-cp:latest
volumes:
- Hestia-home:/home
- Hestia-usr:/usr
- Hestia-backup:/backup
- Hestia-etc:/etc
- Hestia-var:/var
- /sys/fs/cgroup:/sys/fs/cgroup:ro
restart: always
network_mode: host
environment:
TZ: Europe/Moscow
tmpfs:
- /tmp
- /run
- /run/lock

volumes:
Hestia-home:
Hestia-usr:
Hestia-backup:
Hestia-etc:
Hestia-var:
docker-compose -f docker-compose.yml --project-name WEB-Server up -d

80 -> 85

443 -> 445

docker exec -ti Hestia-CP bash
nano /usr/local/hestia/conf/hestia.conf
docker restart Hestia-CP && docker restart Proxy-Manager

Чистка

Логи

Cron

0 * * * * rm -rf /Docker/Proxy-Manager/data/logs/* 

Добавить Cron командой

(crontab -l 2>/dev/null; echo '0 * * * * rm -rf /docker/Proxy-Manager/data/logs/*') | crontab -


Если вы нашли ошибку, пожалуйста, выделите фрагмент текста и нажмите Ctrl+Enter.

Write A Comment

Сообщить об опечатке

Текст, который будет отправлен нашим редакторам: