NGINX Reverse Proxy SSH Map Problem

1
nurchi 2020-07-03 12:58.

Wir haben mehrere virtuelle (Ubuntu) Server in unserem Unternehmen. Jeder hat seine Netzwerkverbindung überbrückt, sodass er seine eigene IP-Adresse vom Router erhält (DHCP-reserviert). Wir müssen mehrere Websites mit eigenen Subdomains betreiben.

Wir haben unsere Top-Domain (sagen wir example.com)

Dann haben wir sub1.example.com, sub2.example.com und sub3.example.com

Der einfachste Weg, dies zu tun, schien darin zu bestehen, einen Reverse-Proxy auszuführen (damit wir in Zukunft einige in die Cloud verschieben und den Lastenausgleich verwenden können).

Ich habe eine neue VM mit Ubuntu 20.04 LTS unter NGINX eingerichtet und als Reverse-Proxy konfiguriert.

Ich habe derzeit 3 ​​Konfigurationen:

redirect_https:

server {
    listen 80;
    listen [::]:80;
    
    server_name *.example.com;
    return 301 https://$host$request_uri;
}

SSL-Proxy:

server {
    listen 443 ssl;
    server_name example.com;
    location / {
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header Host $http_host;
        proxy_set_header X-Forwarded_Proto https;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_redirect off;
        proxy_pass https://10.10.x.y;
        proxy_http_version 1.1;
    }
    
    ssl_certificate        /etc/<path_to_cert>/fullchain.pem;
    ssl_certificate_key    /etc/<path_to_cert>/privkey.pem;
}

SSL-Proxy-Subdomains:

server {
    listen 443 ssl;
    server_name sub1.example.com sub2.example.com sub3.example.com;
    location / {
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header Host $http_host; proxy_set_header X-Forwarded_Proto https; proxy_set_header X-Real-IP $remote_addr;
        proxy_redirect off;
        proxy_pass https://10.10.x.y;
        proxy_http_version 1.1;
    }
    
    ssl_certificate        /etc/<path_to_cert>/fullchain.pem;
    ssl_certificate_key    /etc/<path_to_cert>/privkey.pem;
}

Das alles funktioniert gut.

Um unsere Websites von zu Hause aus bearbeiten zu können, wollte ich den Proxy so konfigurieren, dass er auch SSH-Verkehr weiterleitet. Dort bin ich verwirrt.

Ich habe eine Reihe von Beiträgen hier gelesen, auf anderen Websites, NGINX-Dokumentation, ich scheine das nicht herauszufinden.

Ich bin dem Beispiel direkt aus der Dokumentation gefolgt: https://nginx.org/en/docs/stream/ngx_stream_ssl_preread_module.html

Scheint ziemlich einfach zu sein.

Meine Konfiguration ist praktisch identisch (nur geänderte Teile, die für mein Unternehmen relevant sind, wie IP-Adressen usw.)

Der Vollständigkeit halber trägt das von mir verwendete Beispiel den Titel Auswählen eines Upstreams basierend auf dem Servernamen

Meine Konfiguration (geändert):

map $ssl_preread_server_name $name {
    example.com           backend_main;
    sub1.example.com      backend_1;
    sub2.example.com      backend_2;
    sub3.example.com      backend_3;
    default               backend_proxy;
}

upstream backend_main { server 10.10.x.y:22; }
upstream backend_1 { server 10.10.x.y:22; }
upstream backend_2 { server 10.10.x.y:22; }
upstream backend_3 { server 10.10.x.y:22; }
upstream backend_proxy { server 10.10.x.y:22; }

server {
    listen      2222;
    proxy_pass  $name; ssl_preread on; } log_format proxy '$remote_addr [$time_local] ' '$protocol $status $bytes_sent $bytes_received ' '$session_time "$upstream_addr" ' '"$upstream_bytes_sent" "$upstream_bytes_received" "$upstream_connect_time"';

access_log /var/log/nginx/proxy-access.log proxy;
error_log /var/log/nginx/proxy-error.log;

Der obige Codeabschnitt befindet sich innerhalb des stream {...}Blocks /etc/nginx/nginx.confnach dem html {...}Block (direkt vor dem kommentierten mail {...}Block).

Der Router nimmt den externen Port 22 und leitet ihn an den internen Port 2222 des Reverse-Proxys weiter.

Das Problem, mit dem ich konfrontiert bin, ist, dass mapimmer die Standardoption ausgewählt wird . Wenn ich die Standardeinstellung entferne / kommentiere, kann ich überhaupt keine Verbindung herstellen. Wenn ich die IP-Adresse in der Standardeinstellung ändere, wird ich mit diesem Server verbunden, aber auch hier gilt nur der "Standard".

Das Endziel ist es, direkt in eine der Subdomains (z ssh [email protected]. B. ) ssh zu können . Im Moment muss ich auf einen Server ssh, auf den ich mir externen Zugriff gewährt habe, und von dort aus einen internen ssh.

Das einzige, was mir in den Sinn kommt, ist, dass dies mit dem vorhandenen HTTPS-Proxy möglicherweise nicht gut streamfunktioniert, aber das Modul sollte möglicherweise auch in der Lage sein, diese zu verarbeiten (und wenn ja, kann ich Header festlegen, andernfalls sehen die Backends nur die Anfragen vom Reverse Proxy).

Ich habe den Verdacht, dass dies ein einfaches Problem ist und dass ich etwas übersehen habe, aber nachdem ich 8 Stunden lang gelesen und verschiedene Dinge ausprobiert habe, ist es an der Zeit, um Hilfe zu bitten ...

2 answers

3
Ivan Shatsky 2020-07-03 20:34.

Der SSH-Client verwendet keine SNI-Erweiterungen des TLS-Protokolls, die zur Unterstützung des Shared Hosting mit HTTPS entwickelt wurden. Sie können versuchen, Ihren SSH-Client folgendermaßen einzurichten:

Host example.com *.example.com
    ProxyCommand openssl s_client -quiet -servername %h -connect example.com:2222

Ich weiß jedoch nicht, ob es funktionieren würde. Weitere s_clientInformationen zum Befehl openssl finden Sie hier . Schauen Sie sich auch diesen Artikel an: Proxy SSH mit TLS / SNI und NGINX .

2
Michael Hampton 2020-07-03 14:33.

Die offensichtliche Sache ist, dass ssh nicht https ist und sein Protokoll keinen Hostnamen sendet, mit dem Sie wie mit https übereinstimmen können.

Ich habe einige Hosts mit ähnlichen Einschränkungen, da es sich um virtuelle Maschinen handelt, die keine globale IPv4-Adresse haben. Für diese greife ich über ssh mit IPv6 darauf zu. Wenn Sie IPv6 aus irgendeinem Grund nicht bereitgestellt haben, sind Sie jetzt einige Jahre hinter der Kurve ...

MORE COOL STUFF

Cate Blanchett schlief nach 3 gemeinsamen Tagen mit ihrem Ehemann und ist 25 Jahre später immer noch mit ihm verheiratet

Cate Blanchett schlief nach 3 gemeinsamen Tagen mit ihrem Ehemann und ist 25 Jahre später immer noch mit ihm verheiratet

Cate Blanchett widersetzte sich typischen Dating-Ratschlägen, als sie ihren Ehemann traf.

Warum Michael Sheen ein gemeinnütziger Schauspieler ist

Warum Michael Sheen ein gemeinnütziger Schauspieler ist

Michael Sheen ist ein gemeinnütziger Schauspieler, aber was genau bedeutet das?

Hallmark-Star Colin Egglesfield sorgt für spannende Fan-Begegnungen bei RomaDrama Live! [Exklusiv]

Hallmark-Star Colin Egglesfield sorgt für spannende Fan-Begegnungen bei RomaDrama Live! [Exklusiv]

Hallmark-Star Colin Egglesfield sprach über spannende Fan-Begegnungen bei RomaDrama Live! plus sein INSPIRE-Programm auf der Convention.

Warum Sie „Northern Exposure“ nicht online streamen können

Warum Sie „Northern Exposure“ nicht online streamen können

Sie müssen einen Blu-ray- oder DVD-Player abstauben, um zu sehen, warum Northern Exposure zu einer der beliebtesten Shows der 90er Jahre wurde.

Where in the World Are You? Take our GeoGuesser Quiz

Where in the World Are You? Take our GeoGuesser Quiz

The world is a huge place, yet some GeoGuessr players know locations in mere seconds. Are you one of GeoGuessr's gifted elite? Take our quiz to find out!

Werfen Sie diese Pappröhren nicht weg! 10 Möglichkeiten, sie wiederzuverwenden

Werfen Sie diese Pappröhren nicht weg! 10 Möglichkeiten, sie wiederzuverwenden

Werfen Sie Ihr Papierhandtuch, Toilettenpapier und Geschenkpapierrollen nicht in den Müll. Geben Sie ihnen stattdessen mit einem dieser 10 Hacks ein zweites Leben.

Schlafen Fische?

Schlafen Fische?

Es ist schwer vorstellbar, dass Nemo im Great Barrier Reef ein paar Zs fängt. Aber Fische brauchen Ruhe. Schlafen sie so wie wir?

Spenden Sie Ihr Haar, um unser Wasser sauber zu halten

Spenden Sie Ihr Haar, um unser Wasser sauber zu halten

Haarteile aus Salons und persönliche Spenden können als Matten wiederverwendet werden, die Ölverschmutzungen aufsaugen und zum Schutz der Umwelt beitragen.

Der Curiosity Rover der NASA erfasst ein atemberaubendes Panorama der Marslandschaft

Der Curiosity Rover der NASA erfasst ein atemberaubendes Panorama der Marslandschaft

Bild: NASA / Gizmodo Nach Monaten stetigen Fortschritts hat der Curiosity Rover der NASA die Spitze des Vera Rubin Ridge erreicht. Und wie der gute Bergsteiger, der es ist, nutzte der Rover die Gelegenheit, sich umzusehen und die Aussicht von oben zu genießen.

Ist das der Anfang vom Ende von Brittney Griners Inhaftierung?

Ist das der Anfang vom Ende von Brittney Griners Inhaftierung?

Brittney Griner (r.) Brittney Griners Status war von Anfang an die einzigartigste amerikanische Geiselsituation in der modernen Geschichte.

Tom Brady ist der erste Quarterback, der Julio Jones endlich mehr als 10 Touchdowns in einer Saison bescheren kann

Tom Brady ist der erste Quarterback, der Julio Jones endlich mehr als 10 Touchdowns in einer Saison bescheren kann

Wir konnten dieses Jahr viel mehr von einem gesunden Julio Jones in der Endzone sehen. John Parker Wilson, Greg McElroy, A.

Es musste Deutschland sein

Es musste Deutschland sein

Für England gibt es keinen größeren Bösewicht Die meisten englischen Fans, wenn nicht alle, hätten mit dem Kopf genickt, als der Schlusspfiff des zweiten Halbfinals der W Euro 2022 ertönte. Denn es signalisierte, dass Deutschland im Wembley-Finale auf England und das einzige zwischen den Engländern und der Damenmannschaft warten würde, um den ersten großen Pokal.

Tudor Dixon gewinnt Michigan GOP Primary und trifft nun auf die amtierende Demokratin Gretchen Whitmer

Tudor Dixon gewinnt Michigan GOP Primary und trifft nun auf die amtierende Demokratin Gretchen Whitmer

Tudor Dixon hat am Dienstag die Vorwahlen von Michigan zum Gouverneur gewonnen, nachdem er eine späte Bestätigung des ehemaligen Präsidenten Donald Trump erhalten hatte

Nicky Hilton Forced to Borrow Paris' 'I Love Paris' Sweatshirt After 'Airline Loses All [My] Luggage'

Nicky Hilton Forced to Borrow Paris' 'I Love Paris' Sweatshirt After 'Airline Loses All [My] Luggage'

Nicky Hilton Rothschild's luggage got lost, but luckily she has an incredible closet to shop: Sister Paris Hilton's!

Kate Middleton verbringt einen Tag am Wasser in London, plus Jennifer Lopez, Julianne Hough und mehr

Kate Middleton verbringt einen Tag am Wasser in London, plus Jennifer Lopez, Julianne Hough und mehr

Kate Middleton verbringt einen Tag am Wasser in London, plus Jennifer Lopez, Julianne Hough und mehr. Von Hollywood bis New York und überall dazwischen, sehen Sie, was Ihre Lieblingsstars vorhaben!

17-Jähriger erstochen, während 4 weitere bei einem Messerangriff am Wisconsin River verwundet wurden

17-Jähriger erstochen, während 4 weitere bei einem Messerangriff am Wisconsin River verwundet wurden

Die Ermittler prüfen, ob sich die Gruppe und der Verdächtige vor dem Angriff kannten

Start- und Landebahnen

Start- und Landebahnen

Spätsommer und Herbst sind nostalgische Jahreszeiten. Straßenlaternen werfen ihr Licht über regennasse Straßen, und die Blätter unter den Füßen – gedämpft rot-orange im Schatten der Dämmerung – erinnern an vergangene Tage.

Stellen Sie sich vor, Sie erstellen eine Inhaltsstrategie, die tatsächlich KONVERTIERT. Es ist möglich.

Stellen Sie sich vor, Sie erstellen eine Inhaltsstrategie, die tatsächlich KONVERTIERT. Es ist möglich.

Im Jahr 2021 ermutige ich Sie, alles zu überdenken, was Sie über die Kunden, die Sie bedienen, und die Geschichten, die Sie ihnen erzählen, wissen. Zurücktreten.

Ein Mammutverlust öffnete mein Herz für die Liebe

Ein Mammutverlust öffnete mein Herz für die Liebe

Am Tag des 9. Geburtstags von Felix The Cat erinnere ich mich an einen der größten Verluste meines Erwachsenenlebens – meine Sophie im Jahr 2013. Ich habe diesen Essay geschrieben und ihn kurz im Jahr 2013 auf dieser Plattform geteilt.

Wenn Sie nicht die Person sein können, die das Internet von Ihnen will

Wenn Sie nicht die Person sein können, die das Internet von Ihnen will

Ich hasse das Wort „Zugwrack“. Die Menschen trösten sich mit ihrem eigenen moralischen Kompass und treffen dabei auf ein Urteil.

Language