user nginx; worker_processes auto; error_log /logs/nginx_error; pid /var/run/nginx.pid; events { worker_connections 1024; } http { server_names_hash_bucket_size 64; include include.conf; include /etc/nginx/mime.types; default_type application/octet-stream; # Proxy Cache storage - so we can cache the DoH response from the upstream proxy_cache_path /var/cache/nginx/doh_cache levels=1:2 keys_zone=doh_cache:10m; real_ip_header proxy_protocol; real_ip_recursive on; set_real_ip_from 10.10.0.10; server { listen 10.10.0.2:80 default_server; listen 10.10.0.2:443 ssl http2 default_server proxy_protocol; ssl_certificate /certs/self_public; ssl_certificate_key /certs/self_private; access_log /logs/nginx_default_access; location / { root /app; index login.html; try_files $uri $uri/ =404; } location /adguard/ { access_log /logs/nginx_adguard_access; proxy_pass http://ad:80/; proxy_redirect / /adguard/; proxy_cookie_path / /adguard/; } location /webapp { access_log /logs/nginx_webapp_access; alias /app; index index.html; try_files $uri $uri/ /pac?$query_string; } location /pac { access_log /logs/nginx_pac_access; proxy_pass http://php; } location /tlgrm { access_log /logs/nginx_tlgrm_access; proxy_pass http://php; } location /v2ray { access_log /logs/nginx_v2ray_access; proxy_redirect off; proxy_buffering off; proxy_http_version 1.1; proxy_pass http://ss:8388/; proxy_set_header Host $http_host; proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection "upgrade"; } location /ws { proxy_pass http://xr:443; proxy_redirect off; proxy_http_version 1.1; proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection "upgrade"; 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_read_timeout 5d; } location ~\.well-known { access_log /logs/nginx_certbot_access; root /certs/; try_files $uri =404; } } #~ #-domain # server { # listen 10.10.0.2:80; # server_name ; #-domain #-ssl # listen 10.10.0.2:443 ssl http2 proxy_protocol; # listen 10.10.1.2:443 ssl http2; # ssl_certificate /certs/cert_public; # ssl_certificate_key /certs/cert_private; #-ssl #-domain # access_log /logs/nginx_domain_access; # location / { # root /app; # index login.html; # try_files $uri $uri/ =404; # } # location /adguard/ { # access_log /logs/nginx_adguard_access; # proxy_pass http://ad:80/; # proxy_redirect / /adguard/; # proxy_cookie_path / /adguard/; # } # location /webapp { # access_log /logs/nginx_webapp_access; # alias /app; # index index.html; # try_files $uri $uri/ /pac?$query_string; # } # location /pac { # access_log /logs/nginx_pac_access; # proxy_pass http://php; # } # location ~\.well-known { # access_log /logs/nginx_certbot_access; # root /certs/; # try_files $uri =404; # } # location /v2ray { # access_log /logs/nginx_v2ray_access; # proxy_redirect off; # proxy_buffering off; # proxy_http_version 1.1; # proxy_pass http://ss:8388/; # proxy_set_header Host $http_host; # proxy_set_header Upgrade $http_upgrade; # proxy_set_header Connection "upgrade"; # } # location /ws { # proxy_pass http://xr:443; # proxy_redirect off; # proxy_http_version 1.1; # proxy_set_header Upgrade $http_upgrade; # proxy_set_header Connection "upgrade"; # 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_read_timeout 5d; # } #-domain #-ssl # # The DoH server block # location /dns-query { # access_log /logs/nginx_doh_access; # # Proxy HTTP/1.1, clear the connection header to enable Keep-Alive # proxy_http_version 1.1; # proxy_set_header Connection ""; # proxy_set_header Host $host; # proxy_set_header X-Real-IP $remote_addr; # proxy_set_header X-Forwarded-Proto https; # proxy_set_header X-Forwarded-For $remote_addr; # proxy_set_header X-Forwarded-Host $remote_addr; # # Enable Cache, and set the cache_key to include the request_body # proxy_cache doh_cache; # proxy_cache_key $scheme$proxy_host$uri$is_args$args$request_body; # # proxy pass to the dohloop upstream # proxy_pass https://ad/dns-query; # } #-ssl #-domain # } #-domain }