Portál AbcLinuxu, 17. července 2025 07:29


Dotaz: OpenVPN a HTTPS spolu na 443

Josef Kufner avatar 2.5.2016 22:43 Josef Kufner | skóre: 70
OpenVPN a HTTPS spolu na 443
Přečteno: 312×
Odpovědět | Admin
Dobré ráno,

mám na jednom serveru s jednou IP adresou nainstalovaný nginx a OpenVPN. Donedávna jsem používal sslh, který přeposílal příchozí spojení na port 443 web serveru nebo OpenVPN podle toho, jak vypadala data. Nevýhodou však je, že web server nezná vzdalené IP adresy, neboť všechna spojení přijdou z lokálního sslh a hlavně si nerozumí s Gitlabem.

Jak tedy dosáhnout provozu obojího na jednom portu bez sslh? Moje představa je, že by nginx poslal ne-HTTPS spojení do OpenVPN a sám vyřídil ta HTTPS. Druhá představa je, že by OpenVPN umělo HTTP upgrade, stejně jako Websockety, ale k tomu jsem už vůbec nic nenašel. Možnost, že by OpenVPN přeposílalo spojení do nginx se mi nezamlouvá, neboť to neřeší problém s lokální IP adresou (ale OpenVPN to umí).
Hello world ! Segmentation fault (core dumped)
Nástroje: Začni sledovat (2) ?Zašle upozornění na váš email při vložení nového komentáře.

Odpovědi

2.5.2016 22:51 NN
Rozbalit Rozbalit vše Re: OpenVPN a HTTPS spolu na 443
Odpovědět | | Sbalit | Link | Blokovat | Admin
Tak provozuj OpenVPN na 80 a Gitlab na 443, nebo kde je problem?
Josef Kufner avatar 2.5.2016 23:03 Josef Kufner | skóre: 70
Rozbalit Rozbalit vše Re: OpenVPN a HTTPS spolu na 443
Je žádoucí zachovat funkčnost toho webového serveru, který hostuje mnohem více věcí než jen Gitlab.
Hello world ! Segmentation fault (core dumped)
2.5.2016 23:09 NN
Rozbalit Rozbalit vše Re: OpenVPN a HTTPS spolu na 443
Asi se ptam blbe, ale z jakeho duvodu musi bezet OpenVPN na 443? Jinak bych re
Josef Kufner avatar 2.5.2016 23:15 Josef Kufner | skóre: 70
Rozbalit Rozbalit vše Re: OpenVPN a HTTPS spolu na 443
Protože OpenVPN je obvykle potřeba, když se člověk ocitne za velmi striktním firewallem, který nepustí nic jiného než web. A i když tam je transparentní proxy, NAT a další svinstva, tak OpenVPN v převleku za HTTPS obvykle v pohodě projde.
Hello world ! Segmentation fault (core dumped)
Max avatar 3.5.2016 00:21 Max | skóre: 72 | blog: Max_Devaine
Rozbalit Rozbalit vše Re: OpenVPN a HTTPS spolu na 443
Odpovědět | | Sbalit | Link | Blokovat | Admin
Nginx as a Reverse Proxy for OpenVPN (TCP 443)
Zdar Max
Měl jsem sen ... :(
Josef Kufner avatar 3.5.2016 00:55 Josef Kufner | skóre: 70
Rozbalit Rozbalit vše Re: OpenVPN a HTTPS spolu na 443
To naneštěstí řeší jiný problém - prosté přeposlání spojení do vnitřní sítě. A nginx nesnese mít v stream a httpd poslouchání na stejném portu.
Hello world ! Segmentation fault (core dumped)
Max avatar 3.5.2016 07:15 Max | skóre: 72 | blog: Max_Devaine
Rozbalit Rozbalit vše Re: OpenVPN a HTTPS spolu na 443
Jak jiný problém? Pokud nechceš používat sslh, nechceš používat ani openvpn share-port, nemáš dvě IP adresy, tak jediná možnost je, že jedna z těch dvou služeb bude poslouchat na localhostu na jiném portu a nginx nastavíš jako reverzní proxy pro tu službu.
S nginx nedělám, ale v tom linku se píše, že se stejnou instancí a portem nemá nginx problém (ale nepíše se tam, od jaké verze).
Proto si myslím, že to tvůj problém řešení, ale jak jsem řekl, nemám s tím zkušenosti.
Zdar Max
Měl jsem sen ... :(
Josef Kufner avatar 3.5.2016 09:17 Josef Kufner | skóre: 70
Rozbalit Rozbalit vše Re: OpenVPN a HTTPS spolu na 443
Zkoušel jsem to -- nginx obsadí reverzní TCP proxy port jednou a pak se ho snaží obsadit znovu httpd serverem, což se mu nepovede, verzi mám novější než je ta odkazovaná stránka. Navíc na konci se tam původní tazatel ptá, zda by šlo udělat to, oč se já snažím, avšak to už zůstalo bez odpovědi.
Hello world ! Segmentation fault (core dumped)
Max avatar 3.5.2016 10:05 Max | skóre: 72 | blog: Max_Devaine
Rozbalit Rozbalit vše Re: OpenVPN a HTTPS spolu na 443
To právě bez odpovědi nezůstalo, ne? :
> Only thing I wonder now: 
> Can I still use the same instance of NGINX to also handle HTTPS 
> requests on 443 (apart from the stream module handling stream)? I have 
> no clue how NGINX would be able to tell them apart, but,...maybe that 
> works. Would save me another proxy cluster :-) 

stream {} and http {} are two different blocks which can be in one file where nginx can handle both, so yes.
Proto mi přijde divné, že ti to nejde, když ty týpci si to oba odkejvali ... :-/
Mno, možná se tu k tomu někdo znalejší vyjádří. Docela by mně to zajímalo, jak to ve skutečnosti je.
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.