/ / Verwenden Sie Reverse Proxy vom HTTP-Client für den HTTP-Server, der lokal auf meinem Computer ausgeführt wird - node.js, express, nginx, https, nginx-reverse-proxy

Verwenden Sie Reverse Proxy von Https Client zu Http Server, der lokal auf meinem Rechner läuft - node.js, express, nginx, https, nginx-reverse-proxy

Ich habe eine veröffentlichte Site, die HTTPS verwendet. Die Site muss mit einer HTTP-Knoten-Express-API kommunizieren. Die API wird auf meinem lokalen Computer ausgeführt. Alles hat gut funktioniert, bis ich die Clientanwendung auf HTTPS umgestellt habe. Jetzt erhalte ich gemischte Warnungen. Ich habe über Reverse Proxys gelesen und frage mich, ob dies die Lösung für mein Problem sein könnte. Kann ich eine Anfrage an meinen localhost stellen? Oder wird localhost auf den Server verweisen, auf dem sich der Proxy befindet?

Ich habe mir Nginx als Reverse-Proxy-Server angesehen, aber ich habe keine Erfahrung mit Proxys und nicht positiv, wie ich vorgehen soll.

Ich frage mich hauptsächlich, ob es möglich ist oder nicht, bevor ich tiefer grabe.

Antworten:

0 für die Antwort № 1

Ja, dies ist ein ziemlich normaler Anwendungsfall für Nginx (oder einen anderen Reverse Proxy). Sie müssen die Standort-Präfixe usw. konfigurieren, die zu Ihrer Back-End-Anwendung und Ihrem Proxy (über proxy_pass ihnen). Jeder statische Inhalt kann direkt von nginx bereitgestellt werden. Das alles kann dann hinter nginx stehen.

Angenommen, Ihre Anwendung gibt niemals absolute URLs aus, die "http: //" verwenden. Dies sollte Ihre gemischten Inhaltswarnungen auflösen.

Sie werden wahrscheinlich einige Tutorials lesen wollen, aber die Grundlagen Ihrer Konfiguration wären:

server {
listen 443 ssl; # you can also add http2
server_name hostnames that you listen for;
ssl_certificate_key /path/to/cert.key;
ssl_certificate /path/to/cert.pem;

root /var/www/sites/foo.com;

location /path/handled/by/application {
proxy_pass http://localhost:8000; # or whatever port is
}

}