您最多选择25个主题 主题必须以字母或数字开头,可以包含连字符 (-),并且长度不得超过35个字符
 
 
 
 

101 行
2.6 KiB

  1. server {
  2. listen {{ port }};
  3. server_name {{ domain }};
  4. root {{ sites_path }};
  5. {% if ssl_certificate and ssl_certificate_key %}
  6. ssl on;
  7. ssl_certificate {{ ssl_certificate }};
  8. ssl_certificate_key {{ ssl_certificate_key }};
  9. ssl_session_timeout 5m;
  10. ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
  11. ssl_ciphers "EECDH+ECDSA+AESGCM EECDH+aRSA+AESGCM EECDH+ECDSA+SHA384 EECDH+ECDSA+SHA256 EECDH+aRSA+SHA384 EECDH+aRSA+SHA256 EECDH+aRSA+RC4 EECDH EDH+aRSA RC4 !aNULL !eNULL !LOW !3DES !MD5 !EXP !PSK !SRP !DSS";
  12. ssl_prefer_server_ciphers on;
  13. {% endif %}
  14. location /assets {
  15. try_files $uri =404;
  16. }
  17. location ~ ^/protected/(.*) {
  18. internal;
  19. try_files /{{ bench_manager_site_name }}/$1 =404;
  20. }
  21. location /socket.io {
  22. proxy_http_version 1.1;
  23. proxy_set_header Upgrade $http_upgrade;
  24. proxy_set_header Connection "upgrade";
  25. proxy_set_header X-Xhiveframework-Site-Name {{ bench_manager_site_name }};
  26. proxy_set_header Origin $scheme://$http_host;
  27. proxy_set_header Host {{ bench_manager_site_name }};
  28. proxy_pass http://{{ bench_name }}-socketio-server;
  29. }
  30. location / {
  31. try_files /{{ bench_manager_site_name }}/public/$uri @webserver;
  32. }
  33. location @webserver {
  34. proxy_set_header X-Forwarded-For $remote_addr;
  35. proxy_set_header X-Forwarded-Proto $scheme;
  36. proxy_set_header X-Xhiveframework-Site-Name {{ bench_manager_site_name }};
  37. proxy_set_header Host {{ bench_manager_site_name }};
  38. proxy_set_header X-Use-X-Accel-Redirect True;
  39. proxy_read_timeout {{ http_timeout or 120 }};
  40. proxy_redirect off;
  41. proxy_pass http://{{ bench_name }}-xhiveframework;
  42. }
  43. # error pages
  44. {% for error_code, error_page in error_pages.items() -%}
  45. error_page {{ error_code }} /{{ error_page.split('/')[-1] }};
  46. location /{{ error_code }}.html {
  47. root {{ '/'.join(error_page.split('/')[:-1]) }};
  48. internal;
  49. }
  50. {% endfor -%}
  51. # optimizations
  52. sendfile on;
  53. keepalive_timeout 15;
  54. client_max_body_size 50m;
  55. client_body_buffer_size 16K;
  56. client_header_buffer_size 1k;
  57. # enable gzip compresion
  58. # based on https://mattstauffer.co/blog/enabling-gzip-on-nginx-servers-including-laravel-forge
  59. gzip on;
  60. gzip_http_version 1.1;
  61. gzip_comp_level 5;
  62. gzip_min_length 256;
  63. gzip_proxied any;
  64. gzip_vary on;
  65. gzip_types
  66. application/atom+xml
  67. application/javascript
  68. application/json
  69. application/rss+xml
  70. application/vnd.ms-fontobject
  71. application/x-font-ttf
  72. application/font-woff
  73. application/x-web-app-manifest+json
  74. application/xhtml+xml
  75. application/xml
  76. font/opentype
  77. image/svg+xml
  78. image/x-icon
  79. text/css
  80. text/plain
  81. text/x-component
  82. ;
  83. # text/html is always compressed by HttpGzipModule
  84. }