mirror of
https://github.com/cloudpanel-io/vhost-templates.git
synced 2026-05-18 08:23:31 +08:00
Allow `/.well-known/` routes to pass to the reverse proxy service if the file isn't available on disk. This allows Let's Encrypt HTTP challenge by CloudPanel while also allowing the service behind the reverse proxy to get it's own internal certificate or expose other `./well-known/` routes.
56 lines
1.3 KiB
Plaintext
Executable File
56 lines
1.3 KiB
Plaintext
Executable File
server {
|
|
listen 80;
|
|
listen [::]:80;
|
|
listen 443 ssl http2;
|
|
listen [::]:443 ssl http2;
|
|
{{ssl_certificate_key}}
|
|
{{ssl_certificate}}
|
|
{{server_name}}
|
|
{{root}}
|
|
|
|
{{nginx_access_log}}
|
|
{{nginx_error_log}}
|
|
|
|
if ($scheme != "https") {
|
|
rewrite ^ https://$host$uri permanent;
|
|
}
|
|
|
|
location @reverse_proxy {
|
|
proxy_pass {{reverse_proxy_url}};
|
|
proxy_http_version 1.1;
|
|
proxy_set_header X-Forwarded-Host $host;
|
|
proxy_set_header X-Forwarded-Server $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 Host $http_host;
|
|
proxy_set_header Upgrade $http_upgrade;
|
|
proxy_set_header Connection "Upgrade";
|
|
proxy_pass_request_headers on;
|
|
proxy_max_temp_file_size 0;
|
|
proxy_connect_timeout 900;
|
|
proxy_send_timeout 900;
|
|
proxy_read_timeout 900;
|
|
proxy_buffer_size 128k;
|
|
proxy_buffers 4 256k;
|
|
proxy_busy_buffers_size 256k;
|
|
proxy_temp_file_write_size 256k;
|
|
}
|
|
|
|
{{settings}}
|
|
|
|
add_header Cache-Control no-transform;
|
|
|
|
index index.html;
|
|
|
|
location ^~ /.well-known {
|
|
auth_basic off;
|
|
allow all;
|
|
try_files $uri @reverse_proxy;
|
|
}
|
|
|
|
location / {
|
|
try_files $uri @reverse_proxy;
|
|
}
|
|
}
|