Skip to content

Instantly share code, notes, and snippets.

@martinhpedersen
Last active September 15, 2020 18:44
Show Gist options
  • Save martinhpedersen/361ae48cc66624118dce3e5e6888f239 to your computer and use it in GitHub Desktop.
Save martinhpedersen/361ae48cc66624118dce3e5e6888f239 to your computer and use it in GitHub Desktop.
Pat TLS Reverse Proxy using Nginx
server {
listen 80;
return 301 https://$host$request_uri;
}
server {
listen 443;
server_name raspberrypi.local;
// openssl req -x509 -nodes -days 3650 -newkey rsa:2048 -keyout /etc/nginx/cert.key -out /etc/nginx/cert.crt
ssl_certificate /etc/nginx/cert.crt;
ssl_certificate_key /etc/nginx/cert.key;
ssl on;
// Allow large body sizes (image uploads)
client_max_body_size 12m;
location /ws {
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
proxy_http_version 1.1;
proxy_pass http://localhost:8080/ws;
proxy_read_timeout 300;
}
location / {
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_http_version 1.1;
proxy_pass http://localhost:8080;
proxy_read_timeout 300;
proxy_redirect http://localhost:8080 https://raspberrypi.local;
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment