nginx.conf 2.4 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677
  1. http {
  2. server {
  3. server_name *.etherdream.com;
  4. ssl_certificate cert/etherdream.com/ecc.cer;
  5. ssl_certificate_key cert/etherdream.com/ecc.key;
  6. listen 8443 ssl http2;
  7. include api.conf;
  8. }
  9. # https://nginx.org/en/docs/http/ngx_http_core_module.html
  10. resolver 1.1.1.1 ipv6=off;
  11. resolver_timeout 10s;
  12. keepalive_timeout 60;
  13. keepalive_requests 2048;
  14. server_tokens off;
  15. underscores_in_headers on;
  16. # https://nginx.org/en/docs/http/ngx_http_ssl_module.html
  17. ssl_protocols TLSv1.2 TLSv1.3;
  18. ssl_ciphers TLS13-CHACHA20-POLY1305-SHA256:TLS13-AES-256-GCM-SHA384:TLS13-AES-128-GCM-SHA256:EECDH+AESGCM:EDH+AESGCM:AES256+EECDH:AES256+EDH;
  19. ssl_session_cache shared:SSL:30m;
  20. ssl_session_timeout 1d;
  21. ssl_prefer_server_ciphers on;
  22. # https://nginx.org/en/docs/http/ngx_http_limit_req_module.html
  23. limit_req_log_level warn;
  24. limit_req_zone $binary_remote_addr zone=reqip:16m rate=100r/s;
  25. limit_req zone=reqip burst=200 nodelay;
  26. # https://nginx.org/en/docs/http/ngx_http_log_module.html
  27. # separated by tab (\t)
  28. log_format log_proxy escape=none
  29. '$time_iso8601 $_origin_id $_ver $remote_addr '
  30. '$upstream_cache_status $request_time '
  31. '$request_length $bytes_sent '
  32. '$request_method $_url $status $upstream_http_access_control_allow_origin '
  33. '$http_user_agent $_ref $_mode $_type'
  34. ;
  35. access_log logs/proxy.log log_proxy buffer=64k flush=1s;
  36. # https://nginx.org/cn/docs/http/ngx_http_proxy_module.html
  37. # 1MB = 8000key
  38. proxy_cache_path cache
  39. levels=1:2
  40. keys_zone=my_cache:32m
  41. max_size=20g
  42. inactive=6h
  43. use_temp_path=off
  44. ;
  45. proxy_http_version 1.1;
  46. proxy_ssl_server_name on;
  47. proxy_buffer_size 16k;
  48. proxy_buffers 4 32k;
  49. proxy_busy_buffers_size 64k;
  50. proxy_send_timeout 10s;
  51. # https://github.com/openresty/lua-nginx-module
  52. # traffic statistics
  53. lua_shared_dict traff 16k;
  54. lua_package_path ./lua/?.lua;
  55. init_by_lua_file ../lua/init.lua;
  56. init_worker_by_lua_file ../lua/worker.lua;
  57. log_by_lua require('g').inc();
  58. map $http_origin $_origin_id {
  59. include allowed-sites.conf;
  60. }
  61. }
  62. # https://nginx.org/en/docs/ngx_core_module.html
  63. events {
  64. worker_connections 4096;
  65. }