Portál AbcLinuxu, 12. května 2025 18:28

Dotaz: ProxPass směřování

19.2.2019 20:41 zipi | skóre: 21
ProxPass směřování
Přečteno: 295×
Odpovědět | Admin
Zdravím, mám cca 80 zařízení, které bych potřeboval dostat do DMZ sítě, ale všechny bych potřeboval, aby běželi na portu 443. Napadlo mě nato použít proxypass postavený na NGINXU či APACHE. tj bych měl třeba doménu port.domena.cz a co bude za ní bych dle pravidel směřoval na konkretní IP adresu a port ve vnitřní síti a umělo to spolupracovat z SQL Databází ..

Pro představu:
https://port.domena.cz/DATA01 -> DATA01 se vyhledá v DB a řekne že má jít na IP 192.168.100.10 .. 
Nebo druhá možnost přijde požadavek na data01.domena.cz -> DATA01 se vyhledá v DB a řekne že má jít na IP 192.168.100.10 .. 
Je tohle možné realizovat ..? Pokud ano jakým způsobem ..?
Nástroje: Začni sledovat (0) ?Zašle upozornění na váš email při vložení nového komentáře.

Odpovědi

19.2.2019 20:54 GeorgeWH | skóre: 42
Rozbalit Rozbalit vše Re: ProxPass směřování
Odpovědět | | Sbalit | Link | Blokovat | Admin
A keby si si hostname a IP namapoval 1:1 a vyuzil to pri rewrite?
http://[IP].domena.cz -> proxy rewrite: http://192.168.100.[IP]
Za predpokladu, ze vsetky zariadenia su v jednej sieti.
19.2.2019 21:21 zipi | skóre: 21
Rozbalit Rozbalit vše Re: ProxPass směřování
Právě že to je v x sítí ..
19.2.2019 21:10 Käyttäjä 11133 | skóre: 58 | blog: Ajattelee menneisyyttä
Rozbalit Rozbalit vše Re: ProxPass směřování
Odpovědět | | Sbalit | Link | Blokovat | Admin
Traefik a service discovery dle vlastní volby z množiny podporovaných.
Max avatar 20.2.2019 11:59 Max | skóre: 72 | blog: Max_Devaine
Rozbalit Rozbalit vše Re: ProxPass směřování
Odpovědět | | Sbalit | Link | Blokovat | Admin
Ano, reverzní proxyna je běžná věc. Většinou se to staví na Nginxu, nebo na haproxy (umí více protokolů).
Směrování se rozlišuje nejlépe přes dns, takže být tebou, řešil bych to jednoduše pomocí názvů jako data01.domena.cz

Příklad na debianu s Nginx (včetně portu 80 a automatického přesměrování na 443 s http2):
nano /etc/nginx/sites-available/data01.devaine.cz.conf
server {
        listen   80;
        server_name  data01.devaine.cz;
        return 301 https://$host$request_uri;

        access_log  /var/log/nginx/data01.devaine.cz.proxy.log upstreamlog;
        access_log  /var/log/nginx/data01.devaine.cz.access.log;
        error_log /var/log/nginx/data01.devaine.cz.error.log;

        location / {
                proxy_pass         http://192.168.1.1;
                proxy_redirect     off;
                include /etc/nginx/custom/proxy_base.conf;
        }
}

server {
    listen 443 ssl http2;
    server_name  data01.devaine.cz;

        access_log  /var/log/nginx/data01.devaine.cz.proxy.log upstreamlog;
        access_log  /var/log/nginx/data01.devaine.cz.access.log;
        error_log /var/log/nginx/data01.devaine.cz.error.log;

        location / {
                proxy_pass         http://192.168.1.1;
                proxy_redirect     off;
                include /etc/nginx/custom/proxy_base.conf;

        }


        include /etc/nginx/ssl/ssl-global.conf;

}


nano /etc/nginx/ssl/ssl-global.conf
ssl_certificate  /etc/nginx/ssl/wildcard.devaine.cz.cer;
ssl_certificate_key  /etc/nginx/ssl/wildcard.devaine.cz.pem;

nano /etc/nginx/custom/proxy_base.conf
proxy_set_header   Host             $host;
proxy_set_header   X-Real-IP        $remote_addr;
proxy_set_header   X-Forwarded-For  $proxy_add_x_forwarded_for;
proxy_max_temp_file_size 0;

# for websocket working :
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
proxy_http_version 1.1;


# This is necessary to pass the correct IP to be hashed
real_ip_header X-Real-IP;

client_max_body_size       100m;
client_body_buffer_size    128k;

proxy_connect_timeout      30;
proxy_send_timeout         20m;
proxy_read_timeout         20m;

proxy_buffer_size          4k;
proxy_buffers              4 32k;
proxy_busy_buffers_size    64k;
proxy_temp_file_write_size 64k;
A následně se už jen povolí konfigurace nového webu :
# vytvoříme symlink, aby nginx viděl nové nastavení
ln -s /etc/nginx/sites-available/data01.devaine.cz.conf /etc/nginx/sites-enabled/data01.devaine.cz.conf

# otestujeme si konfiguraci :
nginx -t

# reloadneme
systemctl reload nginx
Zdar Max
Měl jsem sen ... :(

Založit nové vláknoNahoru

Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.