NGINX Reverse Proxy durch Forward Proxy

2019-08-12 · christian · http, nginx

NGINX Webserver welche innerhalb eines Firmennetzwerks laufen und mit einem Corporate Proxy vom Internet isoliert sind, haben normalerweise keine direkte Verbindung zum Internet.

Möchte man nun einen Reverse Proxy erstellen, welcher Requests auf externe APIs/Webservices cached, hilft folgender Hack:

server {
    listen 443 ssl http2;
    listen [::]:443 ssl http2;

    server_name webserviceproxy.serverless.industries;

    ssl_certificate /etc/ssl/http/bundle_serverless.industries.cert;
    ssl_certificate_key /etc/ssl/http/serverless.industries.key;

    location / {
        proxy_set_header Host webservice.example.com;
        proxy_pass http://corporate-proxy.serverless.industries:8080;
    }
}

Die eigentliche Verbindung wird direkt zum Proxy (proxy_pass) aufgebaut. Allerdings wird mit der proxy_set_header Direktive der Host Header überschrieben, sodass der Proxy weiß, an welchen Service die eingehende Anfrage weitergeleitet werden muss.

Disclaimer: Ich habe das bisher nur mit RESTful APIs genutzt. Keine Ahnung was passiert, wenn man so eine komplette Website verarbeiten will.


More


serverless.industries BG by Carl Lender (CC BY 2.0) Imprint & Privacy
4fa348d0 2024-08-31 14:04
Mastodon via chaos.social Mastodon via einbeck.social