clsi-nginx.conf 2.2 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061
  1. # keep in sync with clsi-startup.sh files
  2. # keep in sync with clsi/nginx.conf
  3. # Changes to the above:
  4. # - added debug header
  5. # - remove CORS rules, Server-CE/Server-Pro runs behind a single origin
  6. # - change /output path to /var/lib/sharelatex/data/output
  7. server {
  8. # Extra header for debugging.
  9. add_header 'X-Served-By' 'clsi-nginx' always;
  10. # Security-Headers
  11. add_header 'X-Content-Type-Options' 'nosniff' always;
  12. add_header 'X-Download-Options' 'noopen' always;
  13. add_header 'X-Frame-Options' 'SAMEORIGIN' always;
  14. add_header 'X-XSS-Protection' '1; mode=block' always;
  15. listen 8080;
  16. server_name clsi-nginx;
  17. server_tokens off;
  18. access_log off;
  19. # Ignore symlinks possibly created by users
  20. disable_symlinks on;
  21. # enable compression for tex auxiliary files, but not for pdf files
  22. gzip on;
  23. gzip_types text/plain;
  24. gzip_proxied any;
  25. types {
  26. text/plain log blg aux stdout stderr;
  27. application/pdf pdf;
  28. }
  29. # handle output files for specific users
  30. location ~ ^/project/([0-9a-f]+)/user/([0-9a-f]+)/build/([0-9a-f-]+)/output/output\.([a-z]+)$ {
  31. alias /var/lib/sharelatex/data/output/$1-$2/generated-files/$3/output.$4;
  32. }
  33. # handle .blg files for specific users
  34. location ~ ^/project/([0-9a-f]+)/user/([0-9a-f]+)/build/([0-9a-f-]+)/output/(.+)\.blg$ {
  35. alias /var/lib/sharelatex/data/output/$1-$2/generated-files/$3/$4.blg;
  36. }
  37. # handle output files for anonymous users
  38. location ~ ^/project/([0-9a-f]+)/build/([0-9a-f-]+)/output/output\.([a-z]+)$ {
  39. alias /var/lib/sharelatex/data/output/$1/generated-files/$2/output.$3;
  40. }
  41. # handle .blg files for anonymous users
  42. location ~ ^/project/([0-9a-f]+)/build/([0-9a-f-]+)/output/(.+)\.blg$ {
  43. alias /var/lib/sharelatex/data/output/$1/generated-files/$2/$3.blg;
  44. }
  45. # PDF range for specific users
  46. location ~ ^/project/([0-9a-f]+)/user/([0-9a-f]+)/content/([0-9a-f-]+/[0-9a-f]+)$ {
  47. # Cache for one day
  48. expires 1d;
  49. alias /var/lib/sharelatex/data/output/$1-$2/content/$3;
  50. }
  51. # PDF range for anonymous users
  52. location ~ ^/project/([0-9a-f]+)/content/([0-9a-f-]+/[0-9a-f]+)$ {
  53. # Cache for one day
  54. expires 1d;
  55. alias /var/lib/sharelatex/data/output/$1/content/$2;
  56. }
  57. }