Ich habe einen Ubuntu-Server. Ich habe certbot verwendet, damit mein Nginx-Webserver https verwendet. Ich erzwinge, dass alle Verbindungen von Port 80 zu Port 443 umgeleitet werden.
Kürzlich habe ich MadSonic installiert, einen Musikserver, der den Port 4040 verwendet.
Ich möchte meinen Nginx-Server so ändern, dass ich über meine Domain auf diesen Port zugreifen kann und nicht mehr Ports auf meinem Router öffnen muss. Zum Beispiel:
mydomain.com <-- Uses my web server
mydomain.com/music <-- Redirects to https://127.0.0.1:4040
Meine Nginx-Konfiguration ist die folgende:
server {
root /var/www/html;
index index.html index.htm index.nginx-debian.html;
server_name www.domain.tk domain.tk; # managed by Certbot
location /music {
proxy_pass https://127.0.0.1:4040;
}
location / {
try_files $uri $uri/ =404;
}
listen [::]:443 ssl ipv6only=on; # managed by Certbot
listen 443 ssl; # managed by Certbot
ssl_certificate /etc/letsencrypt/live/domain.tk-0001/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/domain.tk-0001/privkey.pem;
include /etc/letsencrypt/options-ssl-nginx.conf; # managed by Certbot
ssl_dhparam /etc/letsencrypt/ssl-dhparams.pem; # managed by Certbot
}
server {
if ($host = www.domain.tk) {
return 301 https://$host$request_uri;
} # managed by Certbot
if ($host = domain.tk) {
return 301 https://$host$request_uri;
} # managed by Certbot
listen 80 ;
listen [::]:80 ;
server_name www.domain.tk domain.tk;
return 404; # managed by Certbot
}
Das Problem, das ich habe, ist, dass ich sichere Verbindungen im Musikserver aufrechterhalten möchte, aber wenn ich zu 127.0.0.1:4040 umleite, habe ich das ursprüngliche Zertifikat verloren.
Gibt es eine Möglichkeit, das zu tun, was ich erreichen möchte?
ubuntu
https
nginx
reverse-proxy
aenon83
quelle
quelle