nginx proxy proxmox 6

Когда у вас целый парк или даже 1 сервер со множеством виртуальных машин, иногда возникает вопрос об отделении сервисов к примеру веб серверов на разные виртуальные машины с доступом из глобальной сети интернет, для этого нам и послужит nginx как прокси. Ниже приведен типовой конфигурационный файл проверенный на debian 10. Данный вариант используется для 1го внешнего статического ip при использовании web-сервисов.

В нашей сети несколько железных и виртуальных серверов:

Сервер №1 — OS Debian

  1. 192.168.1.100 — proxmox host pve.itsova.ru
  2. 192.168.1.101 — debian 10 с единственным работающим сервисом nginx.
  3. 192.168.1.102 — webserver c сервисом vestacp — доступен по порту 80/443 itsova.ru
  4. 192.168.1.103 — webserver — тестовый полигон — test.itsova.ru доступен по порту 80
  5. 192.168.1.104 — webserver — сервис owncloud — own.itsova.ru доступен по порту 80

Сервер №2 — OS Ubuntu

  1. 192.168.1.105 — webserver — сервис локального репозитория для ubuntu 20.04 atom.itsoa.ru

Сервер №3 — Nas

  1. 192.168.1.106 — webserver — сервис веб панель — nas.itsova.ru доступен по порту 80

Основной маршрутизатор ссылается портом 80 на ip 192.168.1.101 — debian 10 с единственным работающим сервисом nginx который мы сейчас и установим!

Приступим к установке

apt update
apt install nginx
unlink /etc/nginx/sites-enabled/default
nano /etc/nginx/sites-available/local
server {
	listen 80 default_server;
	listen [::]:80 default_server;
	include acme;
	root /var/www/html;
	index index.html index.htm index.nginx-debian.html;
	server_name _;
	location / {
		try_files $uri $uri/ =404;
	}
}
server {
    listen 80;
    server_name itsova.ru;
    access_log /var/log/nginx/itsova.ru-access.log;
    error_log /var/log/nginx/itsova.ru-error.log;

location / {
    proxy_pass http://192.168.1.102;
    proxy_set_header Host $host;
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    proxy_set_header X-Real-IP $remote_addr;
    }
}

server {
    listen 80;
    server_name atom.itsova.ru;
    access_log /var/log/nginx/atom.itsova.ru-access.log;
    error_log /var/log/nginx/atom.itsova.ru-error.log;

location / {
    proxy_pass http://192.168.88.105;
    proxy_set_header Host $host;
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    proxy_set_header X-Real-IP $remote_addr;
    }
}
server {
    listen 80;
    server_name nas.itsova.ru;
    access_log /var/log/nginx/nas.itsova.ru-access.log;
    error_log /var/log/nginx/nas.itsova.ru-error.log;

location / {
    proxy_pass http://192.168.88.106;
    proxy_set_header Host $host;
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    proxy_set_header X-Real-IP $remote_addr;
    }
}
ln -s /etc/nginx/sites-available/local /etc/nginx/sites-enabled/local
nginx -t
должен быть следующий вывод:

nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful
service ngisn reload

Вуупля! Теперь все запросы отрабатывает nginx, если в кофигурации указано куда отправлять запрос на домен test1.itsova.ru он и отправляет, если нет то вы видите заглушку nginx.

Филипп

В детстве мечтал стать обезьянкой чтобы добывать бананы, а стал админом и добываю просто еду.

Читайте также:

Добавить комментарий