Portál AbcLinuxu, 11. května 2025 04:35

Dotaz: Více webserverů na jedné IP adrese

14.11.2018 11:15 jan.rok | skóre: 21
Více webserverů na jedné IP adrese
Přečteno: 785×
Odpovědět | Admin
Dobrý den, v LAN, která je připojená k internetu přes jednu veřejnou statickou IP adresu, mám několik měřících zařízení, které obsahují vestavěný webserver komunikující na portu 80 (ten nemůžu změnit). Mám tedy na routeru nastavená pravidla:

WAN:8081 --> LAN1:80

WAN:8082 --> LAN2:80

atd.

Přístup k měřákům z internetu takto bez problémů funguje. Zadám http://veřejnáIP:82 a jsem na měřáku č. 2. Ale narazil jsem už na případ, že jsem se chtěl připojit ze sítě, která měla nastavená nějaká přísná pravidla a povolovala jen odchozí http a https protokoly na potech 80 a 443. Jiné ne.

Jak by se to v té mojí LAN dalo vyřešit? Mám představu, že bych zadával něco jako http://veřejnáIP/merak2. Ale myslím, že takhle by to šlo jen v případě, že by pod jedním webserverem běželo několik vistuálních serverů. Já mám ale těch webserverů několik, každý na jiném "železe". Navíc s těmi webservery nesmím nijak manipulovat. VPN taky udělat nemůžu. Mohlo by být řešením použití reverzního proxy serveru předřazeného těm měřákům?

Děkuji za nápady. JR


Řešení dotazu:


Nástroje: Začni sledovat (1) ?Zašle upozornění na váš email při vložení nového komentáře.

Odpovědi

Řešení 3× (tuxmartin, Filip Jirsák, eagle.metawerzum)
14.11.2018 12:05 MP
Rozbalit Rozbalit vše Re: Více webserverů na jedné IP adrese
Odpovědět | | Sbalit | Link | Blokovat | Admin
Ano, reverzni proxy. HAProxy,nginx,apache2.
15.11.2018 13:54 jan.rok | skóre: 21
Rozbalit Rozbalit vše Re: Více webserverů na jedné IP adrese
Příloha:
Díky za potvrzení mé domněnky. Zkusil jsem si to cvičně na Apache2, ale asi mám někde chybu.

Na aktuálním Ubuntu Serveru (192.168.1.100) jsem nainstaloval Apache2, dále mod proxy a proxy_http (pomocí a2enmod proxy a a2enmod proxy_http). Vytvořil jsem konfigurace pro 2 weby:

/etc/apache2/sites-available/www.dopryc.cz.conf

/etc/apache2/sites-available/www.donikam.cz.conf (viz v příloze)

Weby jsem povolil, defaultní web zakázal a restartoval apache:

a2ensite www.dopryc.cz.conf

a2ensite www.donikam.cz.conf

a2dissite 000-default.conf

systemctl restart apache2

Port 80 na firewallu mám otevřený. Server má přístup na internet.

Na vedlejší stanici (192.168.1.101) jsem do souboru hosts doplnil:

192.168.1.100 www.dopryc.cz www.donikam.cz

Ping na oba weby funguje, překlad jmen na IP 192.168.1.100 také.

Přesto mi prohlížeč žádný web neukáže. V postupu instalace jsem snad chybu neudělal, ale něco špatně evidentně bude. Nějaká logika mi uniká. Prosím proto zkušenější o radu. Díky.

15.11.2018 13:55 Käyttäjä 11133 | skóre: 58 | blog: Ajattelee menneisyyttä
Rozbalit Rozbalit vše Re: Více webserverů na jedné IP adrese
Traefik!
15.11.2018 14:30 jan.rok | skóre: 21
Rozbalit Rozbalit vše Re: Více webserverů na jedné IP adrese
Tohle?

Tracing route to www.dopryc.cz [192.168.1.100] over a maximum of 30 hops:

1 <1 ms <1 ms <1 ms www.dopryc.cz [192.168.1.100]

Trace complete.
15.11.2018 14:47 jan.rok | skóre: 21
Rozbalit Rozbalit vše Re: Více webserverů na jedné IP adrese
Asi jsem to nějak rozchodil, pro mé účely snad dostatečně. Problém byl v tom, že přesměrovávám na http://www.seznam.cz, ale tato adresa se ve skutečnosti mění na https://www.seznam.cz (podobně to mám v druhém přesměrování, kdy chci směrovat na http://www.mapy.cz, ale ono je to ve skutečnosti https://mapy.cz). A to asi způsobovalo ty zmatky.

Když jsem si směrování nastavil na nějaké své vnitřní webservery (třeba na konfiguraci WiFi AP), tak to funguje.
19.11.2018 09:28 Käyttäjä 11133 | skóre: 58 | blog: Ajattelee menneisyyttä
Rozbalit Rozbalit vše Re: Více webserverů na jedné IP adrese
Mě se ptej, když ani nepřiložíš konfigurák.
19.11.2018 23:43 tuxmartin | skóre: 39 | blog: tuxmartin | Jicin
Rozbalit Rozbalit vše Re: Více webserverů na jedné IP adrese
Odpovědět | | Sbalit | Link | Blokovat | Admin
Na ukazku posilam muj funkcni config apache (je v nem hodne zbytecnosti):

virtualhost:
<VirtualHost *:80>
    ServerName abc.example.net
    DocumentRoot /var/www/
    ErrorLog /var/log/apache2/error_abc.example.net.log
    LogLevel warn
    CustomLog /var/log/apache2/access_abc.example.net.log combined
    Options Indexes FollowSymLinks MultiViews
    RewriteEngine On    
    <Directory /var/www>
	Options FollowSymLinks
	AllowOverride All
    </Directory>

    Alias /.well-known/ /home/letsencrypt/webroot/.well-known/
    <Directory /home/letsencrypt/webroot/>
        Order allow,deny
        Allow from all
        AllowOverride None
        Require all granted
        Satisfy Any
    </Directory>   
 
    RewriteCond %{SERVER_NAME} =abc.example.net
    RewriteCond %{REQUEST_URI} !^/\.well\-known/acme\-challenge/
    RewriteRule ^ https://%{SERVER_NAME}%{REQUEST_URI} [END,QSA,R=permanent]
</VirtualHost>


<VirtualHost *:443>
    ServerName abc.example.net
    DocumentRoot /var/www
    ErrorLog /var/log/apache2/error_abc.example.net.log
    LogLevel warn
    CustomLog /var/log/apache2/access_abc.example.net.log combined
    Options Indexes FollowSymLinks MultiViews
    RewriteEngine On    
    <Directory /var/www>
	Options FollowSymLinks
	AllowOverride All
    </Directory>

    Alias /.well-known/ /home/letsencrypt/webroot/.well-known/
    <Directory /home/letsencrypt/webroot/>
        Order allow,deny
        Allow from all
        AllowOverride None
        Require all granted
        Satisfy Any
    </Directory>

	ProxyPreserveHost On
	ProxyPass / http://10.123.1.18:80/
	ProxyPassReverse / http://10.123.1.18:80/

    SSLCertificateFile /home/letsencrypt/.acme.sh/abc.example.net/abc.example.net.cer
    SSLCertificateKeyFile /home/letsencrypt/.acme.sh/abc.example.net/abc.example.net.key
    SSLCACertificateFile /home/letsencrypt/.acme.sh/abc.example.net/ca.cer 
    Include /etc/letsencrypt/options-ssl-apache.conf
</VirtualHost>
a /etc/letsencrypt/options-ssl-apache.conf :
SSLEngine on

SSLProtocol             all -SSLv2 -SSLv3
SSLCipherSuite          ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-AES256-GCM-SHA384:DHE-RSA-AES128-GCM-SHA256:DHE-DSS-AES128-GCM-SHA256:kEDH+AESGCM:ECDHE-RSA-AES128-SHA256:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES128-SHA:ECDHE-ECDSA-AES128-SHA:ECDHE-RSA-AES256-SHA384:ECDHE-ECDSA-AES256-SHA384:ECDHE-RSA-AES256-SHA:ECDHE-ECDSA-AES256-SHA:DHE-RSA-AES128-SHA256:DHE-RSA-AES128-SHA:DHE-DSS-AES128-SHA256:DHE-RSA-AES256-SHA256:DHE-DSS-AES256-SHA:DHE-RSA-AES256-SHA:AES128-GCM-SHA256:AES256-GCM-SHA384:AES128-SHA256:AES256-SHA256:AES128-SHA:AES256-SHA:AES:CAMELLIA:DES-CBC3-SHA:!aNULL:!eNULL:!EXPORT:!DES:!RC4:!MD5:!PSK:!aECDH:!EDH-DSS-DES-CBC3-SHA:!EDH-RSA-DES-CBC3-SHA:!KRB5-DES-CBC3-SHA
SSLHonorCipherOrder     on
SSLCompression          off

SSLOptions +StrictRequire

# Add vhost name to log entries:
LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-agent}i\"" vhost_combined
LogFormat "%v %h %l %u %t \"%r\" %>s %b" vhost_common
20.11.2018 07:49 jan.rok | skóre: 21
Rozbalit Rozbalit vše Re: Více webserverů na jedné IP adrese
Díky, pěkný studijní materiál.

Myslím, že to zde můžeme považovat za uzavřené.

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.