Bladeren bron

Improve radicale nginx config

Bob Mottram 8 jaren geleden
bovenliggende
commit
1fca17714f
1 gewijzigde bestanden met toevoegingen van 46 en 10 verwijderingen
  1. 46
    10
      src/freedombone-app-radicale

+ 46
- 10
src/freedombone-app-radicale Bestand weergeven

@@ -305,7 +305,7 @@ function remove_radicale {
305 305
 
306 306
     remove_completion_param install_radicale
307 307
     sed -i '/radicale/d' $COMPLETION_FILE
308
-    sed -i '/location \/radicale/,/}/d' /etc/nginx/sites-available/${DEFAULT_DOMAIN_NAME}
308
+    sed -i '/# Start radicale/,/# End radicale/d' /etc/nginx/sites-available/${DEFAULT_DOMAIN_NAME}
309 309
     systemctl restart nginx
310 310
 }
311 311
 
@@ -437,7 +437,7 @@ function install_radicale {
437 437
             echo "    listen [::]:443 ssl;" >> /etc/nginx/sites-available/${DEFAULT_DOMAIN_NAME}
438 438
             echo '' >> /etc/nginx/sites-available/${DEFAULT_DOMAIN_NAME}
439 439
             function_check nginx_ssl
440
-            nginx_ssl ${DEFAULT_DOMAIN_NAME}
440
+            nginx_ssl ${DEFAULT_DOMAIN_NAME} mobile
441 441
             function_check nginx_disable_sniffing
442 442
             nginx_disable_sniffing ${DEFAULT_DOMAIN_NAME}
443 443
             echo '' >> /etc/nginx/sites-available/${DEFAULT_DOMAIN_NAME}
@@ -447,12 +447,30 @@ function install_radicale {
447 447
             echo '    access_log /dev/null;' >> /etc/nginx/sites-available/${DEFAULT_DOMAIN_NAME}
448 448
             echo '    error_log /dev/null;' >> /etc/nginx/sites-available/${DEFAULT_DOMAIN_NAME}
449 449
             echo '' >> /etc/nginx/sites-available/${DEFAULT_DOMAIN_NAME}
450
-            echo '    location /radicale {' >> /etc/nginx/sites-available/${DEFAULT_DOMAIN_NAME}
450
+            echo '    # Start radicale' >> /etc/nginx/sites-available/${DEFAULT_DOMAIN_NAME}
451
+            echo '    location @radicale {' >> /etc/nginx/sites-available/${DEFAULT_DOMAIN_NAME}
451 452
             echo '        auth_basic "Radicale";' >> /etc/nginx/sites-available/${DEFAULT_DOMAIN_NAME}
452
-            echo "        auth_basic_user_file ${RADICALE_USERS};" >> /etc/nginx/sites-available/${DEFAULT_DOMAIN_NAME}
453
+            echo '        auth_basic_user_file /var/www/radicale/users;' >> /etc/nginx/sites-available/${DEFAULT_DOMAIN_NAME}
453 454
             echo '        proxy_pass http://localhost:52322;' >> /etc/nginx/sites-available/${DEFAULT_DOMAIN_NAME}
454
-            echo '        proxy_buffering on;' >> /etc/nginx/sites-available/${DEFAULT_DOMAIN_NAME}
455
+            echo '        proxy_buffering off;' >> /etc/nginx/sites-available/${DEFAULT_DOMAIN_NAME}
456
+            echo '        proxy_set_header Host $host;' >> /etc/nginx/sites-available/${DEFAULT_DOMAIN_NAME}
457
+            echo '        proxy_set_header X-Real-IP $remote_addr;' >> /etc/nginx/sites-available/${DEFAULT_DOMAIN_NAME}
458
+            echo '        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;' >> /etc/nginx/sites-available/${DEFAULT_DOMAIN_NAME}
459
+            echo '        proxy_set_header X-Forwarded-Proto $scheme;' >> /etc/nginx/sites-available/${DEFAULT_DOMAIN_NAME}
460
+            echo '    }' >> /etc/nginx/sites-available/${DEFAULT_DOMAIN_NAME}
461
+            echo '' >> /etc/nginx/sites-available/${DEFAULT_DOMAIN_NAME}
462
+            echo '    location /radicale {' >> /etc/nginx/sites-available/${DEFAULT_DOMAIN_NAME}
463
+            echo '        try_files $uri @radicale;' >> /etc/nginx/sites-available/${DEFAULT_DOMAIN_NAME}
464
+            echo '    }' >> /etc/nginx/sites-available/${DEFAULT_DOMAIN_NAME}
465
+            echo '' >> /etc/nginx/sites-available/${DEFAULT_DOMAIN_NAME}
466
+            echo '    location /.well-known/carddav {' >> /etc/nginx/sites-available/${DEFAULT_DOMAIN_NAME}
467
+            echo '        try_files $uri @radicale;' >> /etc/nginx/sites-available/${DEFAULT_DOMAIN_NAME}
468
+            echo '    }' >> /etc/nginx/sites-available/${DEFAULT_DOMAIN_NAME}
469
+            echo '' >> /etc/nginx/sites-available/${DEFAULT_DOMAIN_NAME}
470
+            echo '    location /.well-known/caldav {' >> /etc/nginx/sites-available/${DEFAULT_DOMAIN_NAME}
471
+            echo '        try_files $uri @radicale;' >> /etc/nginx/sites-available/${DEFAULT_DOMAIN_NAME}
455 472
             echo '    }' >> /etc/nginx/sites-available/${DEFAULT_DOMAIN_NAME}
473
+            echo '    # End radicale' >> /etc/nginx/sites-available/${DEFAULT_DOMAIN_NAME}
456 474
             echo '}' >> /etc/nginx/sites-available/${DEFAULT_DOMAIN_NAME}
457 475
             echo '' >> /etc/nginx/sites-available/${DEFAULT_DOMAIN_NAME}
458 476
         else
@@ -466,20 +484,38 @@ function install_radicale {
466 484
         echo '    access_log /dev/null;' >> /etc/nginx/sites-available/${DEFAULT_DOMAIN_NAME}
467 485
         echo '    error_log /dev/null;' >> /etc/nginx/sites-available/${DEFAULT_DOMAIN_NAME}
468 486
         echo '' >> /etc/nginx/sites-available/${DEFAULT_DOMAIN_NAME}
469
-        echo '    location /radicale {' >> /etc/nginx/sites-available/${DEFAULT_DOMAIN_NAME}
487
+        echo '    # Start radicale' >> /etc/nginx/sites-available/${DEFAULT_DOMAIN_NAME}
488
+        echo '    location @radicale {' >> /etc/nginx/sites-available/${DEFAULT_DOMAIN_NAME}
470 489
         echo '        auth_basic "Radicale";' >> /etc/nginx/sites-available/${DEFAULT_DOMAIN_NAME}
471
-        echo "        auth_basic_user_file ${RADICALE_USERS};" >> /etc/nginx/sites-available/${DEFAULT_DOMAIN_NAME}
490
+        echo '        auth_basic_user_file /var/www/radicale/users;' >> /etc/nginx/sites-available/${DEFAULT_DOMAIN_NAME}
472 491
         echo '        proxy_pass http://localhost:52322;' >> /etc/nginx/sites-available/${DEFAULT_DOMAIN_NAME}
473
-        echo '        proxy_buffering on;' >> /etc/nginx/sites-available/${DEFAULT_DOMAIN_NAME}
492
+        echo '        proxy_buffering off;' >> /etc/nginx/sites-available/${DEFAULT_DOMAIN_NAME}
493
+        echo '        proxy_set_header Host $host;' >> /etc/nginx/sites-available/${DEFAULT_DOMAIN_NAME}
494
+        echo '        proxy_set_header X-Real-IP $remote_addr;' >> /etc/nginx/sites-available/${DEFAULT_DOMAIN_NAME}
495
+        echo '        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;' >> /etc/nginx/sites-available/${DEFAULT_DOMAIN_NAME}
496
+        echo '        proxy_set_header X-Forwarded-Proto $scheme;' >> /etc/nginx/sites-available/${DEFAULT_DOMAIN_NAME}
497
+        echo '    }' >> /etc/nginx/sites-available/${DEFAULT_DOMAIN_NAME}
498
+        echo '' >> /etc/nginx/sites-available/${DEFAULT_DOMAIN_NAME}
499
+        echo '    location /radicale {' >> /etc/nginx/sites-available/${DEFAULT_DOMAIN_NAME}
500
+        echo '        try_files $uri @radicale;' >> /etc/nginx/sites-available/${DEFAULT_DOMAIN_NAME}
501
+        echo '    }' >> /etc/nginx/sites-available/${DEFAULT_DOMAIN_NAME}
502
+        echo '' >> /etc/nginx/sites-available/${DEFAULT_DOMAIN_NAME}
503
+        echo '    location /.well-known/carddav {' >> /etc/nginx/sites-available/${DEFAULT_DOMAIN_NAME}
504
+        echo '        try_files $uri @radicale;' >> /etc/nginx/sites-available/${DEFAULT_DOMAIN_NAME}
505
+        echo '    }' >> /etc/nginx/sites-available/${DEFAULT_DOMAIN_NAME}
506
+        echo '' >> /etc/nginx/sites-available/${DEFAULT_DOMAIN_NAME}
507
+        echo '    location /.well-known/caldav {' >> /etc/nginx/sites-available/${DEFAULT_DOMAIN_NAME}
508
+        echo '        try_files $uri @radicale;' >> /etc/nginx/sites-available/${DEFAULT_DOMAIN_NAME}
474 509
         echo '    }' >> /etc/nginx/sites-available/${DEFAULT_DOMAIN_NAME}
510
+        echo '    # End radicale' >> /etc/nginx/sites-available/${DEFAULT_DOMAIN_NAME}
475 511
         echo '}' >> /etc/nginx/sites-available/${DEFAULT_DOMAIN_NAME}
476 512
 
477 513
         set_completion_param "radicale onion domain" "${RADICALE_ONION_HOSTNAME}"
478 514
     else
479 515
         # alter the existing site config
480 516
         if ! grep "radicale" /etc/nginx/sites-available/${DEFAULT_DOMAIN_NAME}; then
481
-            sed -i '/ 443/a    location \/radicale {\n        auth_basic "Radicale";\n        auth_basic_user_file \/var\/www\/radicale\/users;\n        proxy_pass http://localhost:52322;\n        proxy_buffering on;\n    }' /etc/nginx/sites-available/${DEFAULT_DOMAIN_NAME}
482
-            sed -i '/listen localhost/a    location \/radicale {\n        auth_basic "Radicale";\n        auth_basic_user_file \/var\/www\/radicale\/users;\n        proxy_pass http://localhost:52322;\n        proxy_buffering on;\n    }' /etc/nginx/sites-available/${DEFAULT_DOMAIN_NAME}
517
+            sed -i '/ 443/a    # Start radicale\n  location @radicale {\n    auth_basic "Radicale";\n    auth_basic_user_file /var/www/radicale/users;\n    proxy_pass http://localhost:52322;\n    proxy_buffering off;\n    proxy_set_header Host $host;\n    proxy_set_header X-Real-IP $remote_addr;\n    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;\n    proxy_set_header X-Forwarded-Proto $scheme;\n  }\n\n  location /radicale {\n      try_files $uri @radicale;\n  }\n\n  location /.well-known/carddav {\n      try_files $uri @radicale;\n  }\n\n  location /.well-known/caldav {\n      try_files $uri @radicale;\n  }\n    # End radicale' /etc/nginx/sites-available/${DEFAULT_DOMAIN_NAME}
518
+            sed -i '/listen localhost/a    # Start radicale\n  location @radicale {\n    auth_basic "Radicale";\n    auth_basic_user_file /var/www/radicale/users;\n    proxy_pass http://localhost:52322;\n    proxy_buffering off;\n    proxy_set_header Host $host;\n    proxy_set_header X-Real-IP $remote_addr;\n    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;\n    proxy_set_header X-Forwarded-Proto $scheme;\n  }\n\n  location /radicale {\n      try_files $uri @radicale;\n  }\n\n  location /.well-known/carddav {\n      try_files $uri @radicale;\n  }\n\n  location /.well-known/caldav {\n      try_files $uri @radicale;\n  }\n    # End radicale' /etc/nginx/sites-available/${DEFAULT_DOMAIN_NAME}
483 519
         fi
484 520
     fi
485 521