Skip to content

Instantly share code, notes, and snippets.

@m1m1s1ku
Last active September 2, 2022 02:04
Show Gist options
  • Save m1m1s1ku/59a265fb2a5863952d235fb4aa30dd1e to your computer and use it in GitHub Desktop.
Save m1m1s1ku/59a265fb2a5863952d235fb4aa30dd1e to your computer and use it in GitHub Desktop.
Nginx vhost redirect to another host
server {
listen 80;
# Change domain
server_name domain.tld;
return 301 https://$server_name$request_uri;
}
server {
listen 443 ssl http2;
# Change domain
server_name domain.tld;
ssl_certificate /etc/letsencrypt/live/domain.tld/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/domain.tld/privkey.pem;
location ^~ / {
proxy_set_header Host $host;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_set_header X-Forwarded-Host $http_host;
proxy_set_header X-Forwarded-Uri $request_uri;
proxy_set_header X-Forwarded-Ssl on;
proxy_set_header X-Forwarded-For $remote_addr;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header Connection "";
client_body_buffer_size 128k;
proxy_next_upstream error timeout invalid_header http_500 http_502 http_503; ## Timeout if the real server is dead.
proxy_redirect http:// $scheme://;
proxy_http_version 1.1;
proxy_cache_bypass $cookie_session;
proxy_no_cache $cookie_session;
proxy_buffers 64 256k;
real_ip_header X-Forwarded-For;
real_ip_recursive on;
send_timeout 5m;
proxy_read_timeout 360;
proxy_send_timeout 360;
proxy_connect_timeout 360;
# Change IP
set $upstream_host https://0.0.0.1;
proxy_pass $upstream_host;
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment