nginx_websocket_conf.conf 4.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133
  1. server
  2. {
  3. listen 80;
  4. listen 443 ssl;
  5. listen 443 quic;
  6. http2 on;
  7. server_name ai.cnbugs.top;
  8. index index.php index.html index.htm default.php default.htm default.html;
  9. root /www/wwwroot/ai.cnbugs.top;
  10. #CERT-APPLY-CHECK--START
  11. # 用于SSL证书申请时的文件验证相关配置 -- 请勿删除
  12. include /www/server/panel/vhost/nginx/well-known/ai.cnbugs.top.conf;
  13. #CERT-APPLY-CHECK--END
  14. include /www/server/panel/vhost/nginx/extension/ai.cnbugs.top/*.conf;
  15. #SSL-START SSL相关配置,请勿删除或修改下一行带注释的404规则
  16. #error_page 404/404.html;
  17. #HTTP_TO_HTTPS_START
  18. set $isRedcert 1;
  19. if ($server_port != 443) {
  20. set $isRedcert 2;
  21. }
  22. if ( $uri ~ /\.well-known/ ) {
  23. set $isRedcert 1;
  24. }
  25. if ($isRedcert != 1) {
  26. rewrite ^(/.*)$ https://$host$1 permanent;
  27. }
  28. #HTTP_TO_HTTPS_END
  29. ssl_certificate /www/server/panel/vhost/cert/ai.cnbugs.top/fullchain.pem;
  30. ssl_certificate_key /www/server/panel/vhost/cert/ai.cnbugs.top/privkey.pem;
  31. ssl_protocols TLSv1.1 TLSv1.2 TLSv1.3;
  32. ssl_ciphers EECDH+CHACHA20:EECDH+CHACHA20-draft:EECDH+AES128:RSA+AES128:EECDH+AES256:RSA+AES256:EECDH+3DES:RSA+3DES:!MD5;
  33. ssl_prefer_server_ciphers on;
  34. ssl_session_tickets on;
  35. ssl_session_cache shared:SSL:10m;
  36. ssl_session_timeout 10m;
  37. add_header Strict-Transport-Security "max-age=31536000";
  38. add_header Alt-Svc 'quic=":443"; h3=":443"; h3-29=":443"; h3-27=":443";h3-25=":443"; h3-T050=":443"; h3-Q050=":443";h3-Q049=":443";h3-Q048=":443"; h3-Q046=":443"; h3-Q043=":443"';
  39. error_page 497 https://$host$request_uri;
  40. #SSL-END
  41. #ERROR-PAGE-START 错误页配置,可以注释、删除或修改
  42. error_page 404 /404.html;
  43. #error_page 502 /502.html;
  44. #ERROR-PAGE-END
  45. #PHP-INFO-START PHP引用配置,可以注释或修改
  46. #清理缓存规则
  47. location ~ /purge(/.*) {
  48. proxy_cache_purge cache_one $host$1$is_args$args;
  49. #access_log /www/wwwlogs/ai.cnbugs.top_purge_cache.log;
  50. }
  51. #引用反向代理规则,注释后配置的反向代理将无效
  52. #PROXY-START/
  53. location ^~ /
  54. {
  55. auth_basic "Authenization";
  56. auth_basic_user_file "/www/server/nginx/conf/clawd.pass";
  57. proxy_pass http://127.0.0.1:18789;
  58. proxy_set_header Host $Host;
  59. proxy_set_header X-Real-IP $remote_addr;
  60. proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
  61. proxy_set_header REMOTE-HOST $remote_addr;
  62. # WebSocket support
  63. proxy_set_header Upgrade $http_upgrade;
  64. proxy_set_header Connection "upgrade";
  65. proxy_http_version 1.1;
  66. # Timeout settings for WebSocket
  67. proxy_read_timeout 3600s;
  68. proxy_send_timeout 3600s;
  69. add_header X-Cache $upstream_cache_status;
  70. set $static_fileiRZzuhVO 0;
  71. if ( $uri ~* "\.(gif|png|jpg|css|js|woff|woff2)$" )
  72. {
  73. set $static_fileiRZzuhVO 1;
  74. expires 1m;
  75. }
  76. if ( $static_fileiRZzuhVO = 0 )
  77. {
  78. add_header Cache-Control no-cache;
  79. }
  80. }
  81. #PROXY-END/
  82. include enable-php-00.conf;
  83. #PHP-INFO-END
  84. #REWRITE-START URL重写规则引用,修改后将导致面板设置的伪静态规则失效
  85. include /www/server/panel/vhost/rewrite/ai.cnbugs.top.conf;
  86. #REWRITE-END
  87. # 禁止访问的敏感文件
  88. location ~* (\.user.ini|\.htaccess|\.htpasswd|\.env.*|\.project|\.bashrc|\.bash_profile|\.bash_logout|\.DS_Store|\.gitignore|\.gitattributes|LICENSE|README\.md|CLAUDE\.md|CHANGELOG\.md|CHANGELOG|CONTRIBUTING\.md|TODO\.md|FAQ\.md|composer\.json|composer\.lock|package(-lock)?\.json|yarn\.lock|pnpm-lock\.yaml|\.\w+~|\.swp|\.swo|\.bak(up)?|\.old|\.tmp|\.temp|\.log|\.sql(\.gz)?|docker-compose\.yml|docker\.env|Dockerfile|\.csproj|\.sln|Cargo\.toml|Cargo\.lock|go\.mod|go\.sum|phpunit\.xml|phpunit\.xml|pom\.xml|build\.gradl|pyproject\.toml|requirements\.txt|application(-\w+)?\.(ya?ml|properties))$
  89. {
  90. return 404;
  91. }
  92. # 禁止访问的敏感目录
  93. location ~* /(\.git|\.svn|\.bzr|\.vscode|\.claude|\.idea|\.ssh|\.github|\.npm|\.yarn|\.pnpm|\.cache|\.husky|\.turbo|\.next|\.nuxt|node_modules|runtime)/ {
  94. return 404;
  95. }
  96. #一键申请SSL证书验证目录相关设置
  97. location ~ \.well-known{
  98. allow all;
  99. }
  100. #禁止在证书验证目录放入敏感文件
  101. if ( $uri ~ "^/\.well-known/.*\.(php|jsp|py|js|css|lua|ts|go|zip|tar\.gz|rar|7z|sql|bak)$" ) {
  102. return 403;
  103. }
  104. access_log /www/wwwlogs/ai.cnbugs.top.log;
  105. error_log /www/wwwlogs/ai.cnbugs.top.error.log;
  106. }