[geloest] Nginx Umleitung von http auf https
[geloest] Nginx Umleitung von http auf https
Hallo Ihr Lieben,
ich bin auf der Suche nach einer Konfiguration um einen FQDN von http auf https umzuleiten. Entsprechende SSL Zertifikate habe ich erstellt.
Der FQDN zeigt auf ein Host im Netz wo eine Website läuft auf der keine Einstellungen vorgenommen werden können (Umstellung auf https auf dem Host nicht möglich).
Für Hilfe wäre ich sehr dankbar.
Mit freundlichen Grüßen
Stefan Harbich
ich bin auf der Suche nach einer Konfiguration um einen FQDN von http auf https umzuleiten. Entsprechende SSL Zertifikate habe ich erstellt.
Der FQDN zeigt auf ein Host im Netz wo eine Website läuft auf der keine Einstellungen vorgenommen werden können (Umstellung auf https auf dem Host nicht möglich).
Für Hilfe wäre ich sehr dankbar.
Mit freundlichen Grüßen
Stefan Harbich
Zuletzt geändert von sharbich am 13.11.2023 13:01:55, insgesamt 1-mal geändert.
Re: Nginx Umleitung von http auf https
Wenn ich das richtig sehe, hat das weniger mit der eigentlichen Website zu tun, sondern mit der Konfigurationdatei des Webservers, auf dem sie gehostet wird, also vermutlich in /etc/nginx/sites-available/<Konfigurationsdatei>sharbich hat geschrieben:09.11.2023 07:45:38Der FQDN zeigt auf ein Host im Netz wo eine Website läuft auf der keine Einstellungen vorgenommen werden können.
etwa so:
Code: Alles auswählen
server {
. . .
server_name FQDN.com;
rewrite ^/(.*)$ https://FQDN.com/$1 permanent;
. . .
}
Re: Nginx Umleitung von http auf https
Hallo,
der Host unterstützt kein https. In der nginx Konfiguration muss ich die SSL Zertifikate hinterlegen und auf http der Host IP umleiten. Aber wie?
Gruß von Stefan Harbich
der Host unterstützt kein https. In der nginx Konfiguration muss ich die SSL Zertifikate hinterlegen und auf http der Host IP umleiten. Aber wie?
Gruß von Stefan Harbich
Re: Nginx Umleitung von http auf https
Also du hast einen Webserver auf dem eine http Seite rennt, du die config aber nicht ändern kannst?sharbich hat geschrieben:09.11.2023 07:45:38Der FQDN zeigt auf ein Host im Netz wo eine Website läuft auf der keine Einstellungen vorgenommen werden können (Umstellung auf https auf dem Host nicht möglich).
Ich sehe da nur zwei Möglichkeiten:
1) Reverse Proxy, allerdings ist dann die Kommunikation zwischen Proxy und Host auch nur http
2) Du kannst zumindest eine zweiten virtuellen host für http und https anlegen. Dann könntest du per html weiterleitung von der http auf die https seite leiten.
Re: Nginx Umleitung von http auf https
Ich hatte das immer so gelöst das ich eine weitere IP angelegt habe und dann über den Reverse Proxy eine Umleitung gemacht habe siehe Beispielreox hat geschrieben:09.11.2023 10:02:56Ich sehe da nur zwei Möglichkeiten:sharbich hat geschrieben:09.11.2023 07:45:38Der FQDN zeigt auf ein Host im Netz wo eine Website läuft auf der keine Einstellungen vorgenommen werden können (Umstellung auf https auf dem Host nicht möglich).
1) Reverse Proxy, allerdings ist dann die Kommunikation zwischen Proxy und Host auch nur http
2) Du kannst zumindest eine zweiten virtuellen host für http und https anlegen. Dann könntest du per html weiterleitung von der http auf die https seite leiten.
mgimx.conf
die virtuelle IP Adresse von momme01 ist 192.168.20.100 und die IP von den Host ist die 192.168.0.1. Dort läuft auch ein Webserver der nicht auf https umgestellt werden kann.
Code: Alles auswählen
server {
# Update this line to be your domain
server_name mome01.intern.example.de;
# These shouldn't need to be changed
listen mome01.intern.example.de:80;
return 301 https://$host$request_uri;
}
server {
server_name mome01.intern.example.de;
listen mome01.intern.example.de:443 ssl; # managed by Harbich
ssl_certificate /etc/ssl/certs/mome01.intern.exemple.de.crt; # managed by Harbich
ssl_certificate_key /etc/ssl/private/mome01.intern.exemple.de.key; # managed by Harbich
ssl_dhparam /etc/ssl/certs/dhparams.pem; # managed by Harbich
access_log /var/log/nginx/access.log;
error_log /var/log/nginx/error.log;
location / {
proxy_pass https://192.168.0.1;
}
}
Gruß von Stefan Harbich
Re: Nginx Umleitung von http auf https
Ok nur damit ich es auch verstehe:
- 192.168.0.1 ist der aktuelle webserver der eine Webseite nur per http ausliefert und an dessen config man nichts ändern kann
- du hast einen reverse proxy auf 192.168.20.100 unter deiner kontrolle
- der reverse proxy kann sowohl http als auch https
- du kannst den DNS der auf 192.168.0.1 verweist umstellen auf 192.168.20.100
undsharbich hat geschrieben:09.11.2023 10:45:27Dort läuft auch ein Webserver der nicht auf https umgestellt werden kann
ist dann aber ein typo oder?
Re: Nginx Umleitung von http auf https
Hallo Ihr Lieben,
leider bekomme ich das nicht so richtig hin. Ich versuche das Problem etwas anders zu beschreiben.
Ich habe ein Modem / Router von der Firma DrayTek Vigor 167. Dieses Gerät hat ein eigenes Betriebssystem. Darauf läuft ein Apache Webserver. Dies sehe ich immer wenn ich mich über den Revers Proxy von Nginx über die folgende URL "http://mome01.intern.example.com" mit dem Gerät verbinde. Es erscheint dann folgende Meldung "Apache2 Debian Default Page". Die IP-Adresse die sich hinter der URL verbirgt ist die 192.168.200.100. Meine Nginx Konfiguration des virtuellen Server's sieht wie folgt aus.
Rufe ich aber im Webbrowser die folgende URL auf "http:192.168.0.1" dann werde ich auf die Login Seite des DrayTek Modem / Router weitergeleitet. Allerdings sieht die URL dann so aus:
Kann es sein das ich meine "mome01.conf" im Nginx noch anpassen muss?
Gruß von Stefan Harbich
leider bekomme ich das nicht so richtig hin. Ich versuche das Problem etwas anders zu beschreiben.
Ich habe ein Modem / Router von der Firma DrayTek Vigor 167. Dieses Gerät hat ein eigenes Betriebssystem. Darauf läuft ein Apache Webserver. Dies sehe ich immer wenn ich mich über den Revers Proxy von Nginx über die folgende URL "http://mome01.intern.example.com" mit dem Gerät verbinde. Es erscheint dann folgende Meldung "Apache2 Debian Default Page". Die IP-Adresse die sich hinter der URL verbirgt ist die 192.168.200.100. Meine Nginx Konfiguration des virtuellen Server's sieht wie folgt aus.
Code: Alles auswählen
root@dsme01:~# cat /etc/nginx/sites-available/mome01.conf
server {
# Update this line to be your domain
server_name mome01.intern.example.com;
# These shouldn't need to be changed
listen mome01.intern.example.com:80;
return 301 https://$host$request_uri;
}
server {
server_name mome01.intern.example.com;
listen mome01.intern.harnet.de:443 ssl; # managed by Harbich
ssl_certificate /etc/ssl/certs/mome01.intern.example.com.crt; # managed by Harbich
ssl_certificate_key /etc/ssl/private/mome01.intern.exemple.com.key; # managed by Harbich
ssl_dhparam /etc/ssl/certs/dhparams.pem; # managed by Harbich
location / {
proxy_pass http://192.168.0.1;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-Proto https;
proxy_set_header X-Forwarded-For $remote_addr;
proxy_set_header X-Forwarded-Host $remote_addr;
}
access_log /var/log/nginx/access.log;
error_log /var/log/nginx/error.log debug;
}
Code: Alles auswählen
http://192.168.0.1/web/#/login
Gruß von Stefan Harbich
Re: Nginx Umleitung von http auf https
Es könnte sein, dass der DrayTek da reinpfuscht. Evt hat der konfiguriert, dass ein Request auf / eine Weiterleitung auslöst. Dagegen kannst du dann eigentlich nichts machen, außer evt noch direkt das HTML per proxy umschreiben...
Häng dich beim Aufruf mal mit einem tcpdump/wireshark/browserconsole dazwischen und schau nach wie die Weiterleitung eigentlich ausgelöst wird. Ich würde wie gesagt vermuten, dass sie nicht vom nginx kommt sondern evt einfach eine html meta-refresh weiterleitung ist.
uU kannst du dem nginx auch eine regel einbauen, welche anfragen auf / dann am nginx auf die richtige seite umleitet - vorrausgesetzt der Router leitet nicht einfach alles um oder so...
Häng dich beim Aufruf mal mit einem tcpdump/wireshark/browserconsole dazwischen und schau nach wie die Weiterleitung eigentlich ausgelöst wird. Ich würde wie gesagt vermuten, dass sie nicht vom nginx kommt sondern evt einfach eine html meta-refresh weiterleitung ist.
uU kannst du dem nginx auch eine regel einbauen, welche anfragen auf / dann am nginx auf die richtige seite umleitet - vorrausgesetzt der Router leitet nicht einfach alles um oder so...
Re: Nginx Umleitung von http auf https
Kann es sein dass auf deinem Debian auch noch ein Apache2 läuft? Den könntest du testweise einmal stoppen.sharbich hat geschrieben:13.11.2023 09:06:42Hallo Ihr Lieben,
leider bekomme ich das nicht so richtig hin. Ich versuche das Problem etwas anders zu beschreiben.
Ich habe ein Modem / Router von der Firma DrayTek Vigor 167. Dieses Gerät hat ein eigenes Betriebssystem. Darauf läuft ein Apache Webserver. Dies sehe ich immer wenn ich mich über den Revers Proxy von Nginx über die folgende URL "http://mome01.intern.example.com" mit dem Gerät verbinde. Es erscheint dann folgende Meldung "Apache2 Debian Default Page".
Re: Nginx Umleitung von http auf https
Hallo Ihr Lieben,
ich Dusel. Ich habe die falsche IP Adresse für den Reverse Proxy verwendet. Anstatt die 192.168.20.100 habe ich die 192.168.200.100 verwendet. Dann kann das ganze ja nicht funktionieren. Trotzdem komisch warum da ein Apache2 Webserver lauscht?
Ich hatte mich schon gewundert warum ich über tcpdump nichts gesehen habe. Einfach überarbeitet.
Gruß von Stefan Harbich
ich Dusel. Ich habe die falsche IP Adresse für den Reverse Proxy verwendet. Anstatt die 192.168.20.100 habe ich die 192.168.200.100 verwendet. Dann kann das ganze ja nicht funktionieren. Trotzdem komisch warum da ein Apache2 Webserver lauscht?
Ich hatte mich schon gewundert warum ich über tcpdump nichts gesehen habe. Einfach überarbeitet.
Gruß von Stefan Harbich