server { listen 443; server_name mon-domaine.com; ssl on; ssl_certificate /etc/nginx/ssl/mon-domaine.com.pem; ssl_certificate_key /etc/nginx/ssl/mon-domaine.com.key; ssl_session_cache shared:SSL:10m; # config pour un chemin spécifique location /mon-repertoire { proxy_set_header Accept-Encoding ""; # sub_filter permet de modifier un texte dans le fichier html renvoyé par nginx sub_filter_once off; sub_filter "http://mon-url-interne/" "https://mon-url-externe.com/"; proxy_pass http://mon-server-interne/mon-repertoire; # forcer à être en https proxy_redirect http:// https://; } # config pour le reste des chemin location / { # pour les websocket c'est mieux de spécifier la version du proxy proxy_http_version 1.1; proxy_pass http://mon-server-interne:3000/; proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection $connection_upgrade; } }
server { listen 80 default; server_name test.local; location / { # permet de transmettre l'ip réel au serveur interne proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $remote_addr; proxy_set_header Host $http_host; # sur une certaine condition... if ($request_body ~* ^(.*)\.test) { proxy_pass http://www.google.de; break; } root /srv/http; } }