Advertisement
Guest User

Untitled

a guest
Mar 17th, 2023
58
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Bash 3.03 KB | None | 0 0
  1. upstream frappe-bench-frappe {
  2.     server 127.0.0.1:8000 fail_timeout=0;
  3. }
  4.  
  5. upstream frappe-bench-socketio-server {
  6.     server 127.0.0.1:9000 fail_timeout=0;
  7. }
  8.  
  9.  
  10.  
  11. # setup maps
  12.  
  13.  
  14. # server blocks
  15.  
  16.  
  17.  
  18.  
  19.  
  20. server {
  21.    
  22.     listen 443;
  23.     listen [::]:443;
  24.    
  25.  
  26.     server_name
  27.         erp.thetechnologystudio.com
  28.         ;
  29.  
  30.     root /home/erpnext/frappe-bench/sites;
  31.  
  32.    
  33.  
  34.     proxy_buffer_size 128k;
  35.     proxy_buffers 4 256k;
  36.     proxy_busy_buffers_size 256k;
  37.  
  38.    
  39.  
  40.     add_header X-Frame-Options "SAMEORIGIN";
  41.     add_header Strict-Transport-Security "max-age=63072000; includeSubDomains; preload";
  42.     add_header X-Content-Type-Options nosniff;
  43.     add_header X-XSS-Protection "1; mode=block";
  44.     add_header Referrer-Policy "same-origin, strict-origin-when-cross-origin";
  45.  
  46.     location /assets {
  47.         try_files $uri =404;
  48.     }
  49.  
  50.     location ~ ^/protected/(.*) {
  51.         internal;
  52.         try_files /erp.thetechnologystudio.com/$1 =404;
  53.     }
  54.  
  55.     location /socket.io {
  56.         proxy_http_version 1.1;
  57.         proxy_set_header Upgrade $http_upgrade;
  58.         proxy_set_header Connection "upgrade";
  59.         proxy_set_header X-Frappe-Site-Name erp.thetechnologystudio.com;
  60.         proxy_set_header Origin $scheme://$http_host;
  61.         proxy_set_header Host $host;
  62.  
  63.         proxy_pass http://frappe-bench-socketio-server;
  64.     }
  65.  
  66.     location / {
  67.  
  68.         rewrite ^(.+)/$ $1 permanent;
  69.         rewrite ^(.+)/index\.html$ $1 permanent;
  70.         rewrite ^(.+)\.html$ $1 permanent;
  71.  
  72.         location ~* ^/files/.*.(htm|html|svg|xml) {
  73.             add_header Content-disposition "attachment";
  74.             try_files /erp.thetechnologystudio.com/public/$uri @webserver;
  75.         }
  76.  
  77.         try_files /erp.thetechnologystudio.com/public/$uri @webserver;
  78.     }
  79.  
  80.     location @webserver {
  81.         proxy_http_version 1.1;
  82.         proxy_set_header X-Forwarded-For $remote_addr;
  83.         proxy_set_header X-Forwarded-Proto $scheme;
  84.         proxy_set_header X-Frappe-Site-Name erp.thetechnologystudio.com;
  85.         proxy_set_header Host $host;
  86.         proxy_set_header X-Use-X-Accel-Redirect True;
  87.         proxy_read_timeout 120;
  88.         proxy_redirect off;
  89.  
  90.         proxy_pass  http://frappe-bench-frappe;
  91.     }
  92.  
  93.     # error pages
  94.     error_page 502 /502.html;
  95.     location /502.html {
  96.         root /usr/local/lib/python3.10/dist-packages/bench/config/templates;
  97.         internal;
  98.     }
  99.  
  100.     access_log  /var/log/nginx/access.log main;
  101.     error_log  /var/log/nginx/error.log;
  102.  
  103.     # optimizations
  104.     sendfile on;
  105.     keepalive_timeout 15;
  106.     client_max_body_size 50m;
  107.     client_body_buffer_size 16K;
  108.     client_header_buffer_size 1k;
  109.  
  110.     # enable gzip compresion
  111.     # based on https://mattstauffer.co/blog/enabling-gzip-on-nginx-servers-including-laravel-forge
  112.     gzip on;
  113.     gzip_http_version 1.1;
  114.     gzip_comp_level 5;
  115.     gzip_min_length 256;
  116.     gzip_proxied any;
  117.     gzip_vary on;
  118.     gzip_types
  119.         application/atom+xml
  120.         application/javascript
  121.         application/json
  122.         application/rss+xml
  123.         application/vnd.ms-fontobject
  124.         application/x-font-ttf
  125.         application/font-woff
  126.         application/x-web-app-manifest+json
  127.         application/xhtml+xml
  128.         application/xml
  129.         font/opentype
  130.         image/svg+xml
  131.         image/x-icon
  132.         text/css
  133.         text/plain
  134.         text/x-component
  135.         ;
  136.         # text/html is always compressed by HttpGzipModule
  137. }
  138.  
  139.  
  140.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement