informatica:microservers:nextcloud
Differences
This shows you the differences between two versions of the page.
| informatica:microservers:nextcloud [2020/12/13 09:55] – created jose | informatica:microservers:nextcloud [2020/12/15 22:03] (current) – jose | ||
|---|---|---|---|
| Line 1: | Line 1: | ||
| ====== Nextcloud ====== | ====== Nextcloud ====== | ||
| + | docker-compose.yml | ||
| + | < | ||
| + | version: ' | ||
| + | |||
| + | volumes: | ||
| + | nextcloud: | ||
| + | db: | ||
| + | |||
| + | services: | ||
| + | db: | ||
| + | image: mariadb | ||
| + | command: --transaction-isolation=READ-COMMITTED --binlog-format=ROW | ||
| + | restart: always | ||
| + | volumes: | ||
| + | - db:/ | ||
| + | environment: | ||
| + | - MYSQL_ROOT_PASSWORD=rootpasword | ||
| + | - MYSQL_PASSWORD=nextcloudpassword | ||
| + | - MYSQL_DATABASE=nextcloud | ||
| + | - MYSQL_USER=nextcloud | ||
| + | |||
| + | app: | ||
| + | image: nextcloud: | ||
| + | links: | ||
| + | - db | ||
| + | volumes: | ||
| + | - / | ||
| + | - ${PWD}/ | ||
| + | restart: always | ||
| + | |||
| + | web: | ||
| + | image: nginx | ||
| + | ports: | ||
| + | - 9080:80 | ||
| + | links: | ||
| + | - app | ||
| + | volumes: | ||
| + | - ./ | ||
| + | volumes_from: | ||
| + | - app | ||
| + | restart: always | ||
| + | |||
| + | </ | ||
| + | |||
| + | www.conf | ||
| + | < | ||
| + | ; Start a new pool named ' | ||
| + | ; the variable $pool can be used in any directive and will be replaced by the | ||
| + | ; pool name (' | ||
| + | [www] | ||
| + | |||
| + | ; Per pool prefix | ||
| + | ; It only applies on the following directives: | ||
| + | ; - ' | ||
| + | ; - ' | ||
| + | ; - ' | ||
| + | ; - ' | ||
| + | ; - ' | ||
| + | ; - ' | ||
| + | ; - ' | ||
| + | ; When not set, the global prefix (or NONE) applies instead. | ||
| + | ; Note: This directive can also be relative to the global prefix. | ||
| + | ; Default Value: none | ||
| + | ;prefix = / | ||
| + | |||
| + | ; Unix user/group of processes | ||
| + | ; Note: The user is mandatory. If the group is not set, the default user's group | ||
| + | ; will be used. | ||
| + | user = www-data | ||
| + | group = www-data | ||
| + | |||
| + | ; The address on which to accept FastCGI requests. | ||
| + | ; Valid syntaxes are: | ||
| + | ; ' | ||
| + | ; a specific port; | ||
| + | ; ' | ||
| + | ; a specific port; | ||
| + | ; ' | ||
| + | ; (IPv6 and IPv4-mapped) on a specific port; | ||
| + | ; '/ | ||
| + | ; Note: This value is mandatory. | ||
| + | listen = 127.0.0.1: | ||
| + | |||
| + | ; Set listen(2) backlog. | ||
| + | ; Default Value: 511 (-1 on FreeBSD and OpenBSD) | ||
| + | ; | ||
| + | |||
| + | ; Set permissions for unix socket, if one is used. In Linux, read/write | ||
| + | ; permissions must be set in order to allow connections from a web server. Many | ||
| + | ; BSD-derived systems allow connections regardless of permissions. The owner | ||
| + | ; and group can be specified either by name or by their numeric IDs. | ||
| + | ; Default Values: user and group are set as the running user | ||
| + | ; mode is set to 0660 | ||
| + | ; | ||
| + | ; | ||
| + | ; | ||
| + | ; When POSIX Access Control Lists are supported you can set them using | ||
| + | ; these options, value is a comma separated list of user/group names. | ||
| + | ; When set, listen.owner and listen.group are ignored | ||
| + | ; | ||
| + | ; | ||
| + | |||
| + | ; List of addresses (IPv4/IPv6) of FastCGI clients which are allowed to connect. | ||
| + | ; Equivalent to the FCGI_WEB_SERVER_ADDRS environment variable in the original | ||
| + | ; PHP FCGI (5.2.2+). Makes sense only with a tcp listening socket. Each address | ||
| + | ; must be separated by a comma. If this value is left blank, connections will be | ||
| + | ; accepted from any ip address. | ||
| + | ; Default Value: any | ||
| + | ; | ||
| + | |||
| + | ; Specify the nice(2) priority to apply to the pool processes (only if set) | ||
| + | ; The value can vary from -19 (highest priority) to 20 (lower priority) | ||
| + | ; Note: - It will only work if the FPM master process is launched as root | ||
| + | ; - The pool processes will inherit the master process priority | ||
| + | ; | ||
| + | ; Default Value: no set | ||
| + | ; process.priority = -19 | ||
| + | |||
| + | ; Set the process dumpable flag (PR_SET_DUMPABLE prctl) even if the process user | ||
| + | ; or group is differrent than the master process user. It allows to create process | ||
| + | ; core dump and ptrace the process for the pool user. | ||
| + | ; Default Value: no | ||
| + | ; process.dumpable = yes | ||
| + | |||
| + | ; Choose how the process manager will control the number of child processes. | ||
| + | ; Possible Values: | ||
| + | ; | ||
| + | ; | ||
| + | ; | ||
| + | ; | ||
| + | ; | ||
| + | ; be alive at the same time. | ||
| + | ; | ||
| + | ; | ||
| + | ; state (waiting to process). If the number | ||
| + | ; of ' | ||
| + | ; number then some children will be created. | ||
| + | ; | ||
| + | ; state (waiting to process). If the number | ||
| + | ; of ' | ||
| + | ; number then some children will be killed. | ||
| + | ; ondemand - no children are created at startup. Children will be forked when | ||
| + | ; new requests will connect. The following parameter are used: | ||
| + | ; | ||
| + | ; can be alive at the same time. | ||
| + | ; | ||
| + | ; an idle process will be killed. | ||
| + | ; Note: This value is mandatory. | ||
| + | pm = dynamic | ||
| + | |||
| + | ; The number of child processes to be created when pm is set to ' | ||
| + | ; maximum number of child processes when pm is set to ' | ||
| + | ; This value sets the limit on the number of simultaneous requests that will be | ||
| + | ; served. Equivalent to the ApacheMaxClients directive with mpm_prefork. | ||
| + | ; Equivalent to the PHP_FCGI_CHILDREN environment variable in the original PHP | ||
| + | ; CGI. The below defaults are based on a server without much resources. Don't | ||
| + | ; forget to tweak pm.* to fit your needs. | ||
| + | ; Note: Used when pm is set to ' | ||
| + | ; Note: This value is mandatory. | ||
| + | pm.max_children = 120 | ||
| + | |||
| + | ; The number of child processes created on startup. | ||
| + | ; Note: Used only when pm is set to ' | ||
| + | ; Default Value: (min_spare_servers + max_spare_servers) / 2 | ||
| + | pm.start_servers = 12 | ||
| + | |||
| + | ; The desired minimum number of idle server processes. | ||
| + | ; Note: Used only when pm is set to ' | ||
| + | ; Note: Mandatory when pm is set to ' | ||
| + | pm.min_spare_servers = 6 | ||
| + | |||
| + | ; The desired maximum number of idle server processes. | ||
| + | ; Note: Used only when pm is set to ' | ||
| + | ; Note: Mandatory when pm is set to ' | ||
| + | pm.max_spare_servers = 18 | ||
| + | |||
| + | ; The number of seconds after which an idle process will be killed. | ||
| + | ; Note: Used only when pm is set to ' | ||
| + | ; Default Value: 10s | ||
| + | ; | ||
| + | |||
| + | ; The number of requests each child process should execute before respawning. | ||
| + | ; This can be useful to work around memory leaks in 3rd party libraries. For | ||
| + | ; endless request processing specify ' | ||
| + | ; Default Value: 0 | ||
| + | ; | ||
| + | |||
| + | ; The URI to view the FPM status page. If this value is not set, no URI will be | ||
| + | ; recognized as a status page. It shows the following informations: | ||
| + | ; | ||
| + | ; | ||
| + | ; start time - the date and time FPM has started; | ||
| + | ; start since - number of seconds since FPM has started; | ||
| + | ; | ||
| + | ; | ||
| + | ; connections (see backlog in listen(2)); | ||
| + | ; max listen queue - the maximum number of requests in the queue | ||
| + | ; of pending connections since FPM has started; | ||
| + | ; | ||
| + | ; idle processes | ||
| + | ; | ||
| + | ; total processes | ||
| + | ; max active processes - the maximum number of active processes since FPM | ||
| + | ; has started; | ||
| + | ; max children reached - number of times, the process limit has been reached, | ||
| + | ; when pm tries to start more children (works only for | ||
| + | ; pm ' | ||
| + | ; Value are updated in real time. | ||
| + | ; Example output: | ||
| + | ; | ||
| + | ; | ||
| + | ; start time: | ||
| + | ; start since: | ||
| + | ; | ||
| + | ; | ||
| + | ; max listen queue: | ||
| + | ; | ||
| + | ; idle processes: | ||
| + | ; | ||
| + | ; total processes: | ||
| + | ; max active processes: 12 | ||
| + | ; max children reached: 0 | ||
| + | ; | ||
| + | ; By default the status page output is formatted as text/plain. Passing either | ||
| + | ; ' | ||
| + | ; output syntax. Example: | ||
| + | ; | ||
| + | ; | ||
| + | ; | ||
| + | ; | ||
| + | ; | ||
| + | ; By default the status page only outputs short status. Passing ' | ||
| + | ; query string will also return status for each pool process. | ||
| + | ; Example: | ||
| + | ; | ||
| + | ; | ||
| + | ; | ||
| + | ; | ||
| + | ; The Full status returns for each process: | ||
| + | ; | ||
| + | ; | ||
| + | ; start time - the date and time the process has started; | ||
| + | ; start since - the number of seconds since the process has started; | ||
| + | ; | ||
| + | ; | ||
| + | ; | ||
| + | ; | ||
| + | ; | ||
| + | ; | ||
| + | ; | ||
| + | ; last request cpu - the %cpu the last request consumed | ||
| + | ; it's always 0 if the process is not in Idle state | ||
| + | ; because CPU calculation is done when the request | ||
| + | ; processing has terminated; | ||
| + | ; last request memory | ||
| + | ; it's always 0 if the process is not in Idle state | ||
| + | ; because memory calculation is done when the request | ||
| + | ; processing has terminated; | ||
| + | ; If the process is in Idle state, then informations are related to the | ||
| + | ; last request the process has served. Otherwise informations are related to | ||
| + | ; the current request being served. | ||
| + | ; Example output: | ||
| + | ; | ||
| + | ; | ||
| + | ; | ||
| + | ; start time: | ||
| + | ; start since: | ||
| + | ; | ||
| + | ; | ||
| + | ; | ||
| + | ; | ||
| + | ; | ||
| + | ; | ||
| + | ; | ||
| + | ; last request cpu: 0.00 | ||
| + | ; last request memory: | ||
| + | ; | ||
| + | ; Note: There is a real-time FPM status monitoring sample web page available | ||
| + | ; | ||
| + | ; | ||
| + | ; Note: The value must start with a leading slash (/). The value can be | ||
| + | ; | ||
| + | ; may conflict with a real PHP file. | ||
| + | ; Default Value: not set | ||
| + | ; | ||
| + | |||
| + | ; The ping URI to call the monitoring page of FPM. If this value is not set, no | ||
| + | ; URI will be recognized as a ping page. This could be used to test from outside | ||
| + | ; that FPM is alive and responding, or to | ||
| + | ; - create a graph of FPM availability (rrd or such); | ||
| + | ; - remove a server from a group if it is not responding (load balancing); | ||
| + | ; - trigger alerts for the operating team (24/7). | ||
| + | ; Note: The value must start with a leading slash (/). The value can be | ||
| + | ; | ||
| + | ; may conflict with a real PHP file. | ||
| + | ; Default Value: not set | ||
| + | ;ping.path = /ping | ||
| + | |||
| + | ; This directive may be used to customize the response of a ping request. The | ||
| + | ; response is formatted as text/plain with a 200 response code. | ||
| + | ; Default Value: pong | ||
| + | ; | ||
| + | |||
| + | ; The access log file | ||
| + | ; Default: not set | ||
| + | ;access.log = log/ | ||
| + | |||
| + | ; The access log format. | ||
| + | ; The following syntax is allowed | ||
| + | ; %%: the ' | ||
| + | ; %C: %CPU used by the request | ||
| + | ; it can accept the following format: | ||
| + | ; - %{user}C for user CPU only | ||
| + | ; - %{system}C for system CPU only | ||
| + | ; - %{total}C | ||
| + | ; %d: time taken to serve the request | ||
| + | ; it can accept the following format: | ||
| + | ; - %{seconds}d (default) | ||
| + | ; - %{miliseconds}d | ||
| + | ; - %{mili}d | ||
| + | ; - %{microseconds}d | ||
| + | ; - %{micro}d | ||
| + | ; %e: an environment variable (same as $_ENV or $_SERVER) | ||
| + | ; it must be associated with embraces to specify the name of the env | ||
| + | ; variable. Some exemples: | ||
| + | ; - server specifics like: %{REQUEST_METHOD}e or %{SERVER_PROTOCOL}e | ||
| + | ; - HTTP headers like: %{HTTP_HOST}e or %{HTTP_USER_AGENT}e | ||
| + | ; %f: script filename | ||
| + | ; %l: content-length of the request (for POST request only) | ||
| + | ; %m: request method | ||
| + | ; %M: peak of memory allocated by PHP | ||
| + | ; it can accept the following format: | ||
| + | ; - %{bytes}M (default) | ||
| + | ; - %{kilobytes}M | ||
| + | ; - %{kilo}M | ||
| + | ; - %{megabytes}M | ||
| + | ; - %{mega}M | ||
| + | ; %n: pool name | ||
| + | ; %o: output header | ||
| + | ; it must be associated with embraces to specify the name of the header: | ||
| + | ; - %{Content-Type}o | ||
| + | ; - %{X-Powered-By}o | ||
| + | ; - %{Transfert-Encoding}o | ||
| + | ; - .... | ||
| + | ; %p: PID of the child that serviced the request | ||
| + | ; %P: PID of the parent of the child that serviced the request | ||
| + | ; %q: the query string | ||
| + | ; %Q: the '?' | ||
| + | ; %r: the request URI (without the query string, see %q and %Q) | ||
| + | ; %R: remote IP address | ||
| + | ; %s: status (response code) | ||
| + | ; %t: server time the request was received | ||
| + | ; it can accept a strftime(3) format: | ||
| + | ; %d/ | ||
| + | ; The strftime(3) format must be encapsuled in a %{< | ||
| + | ; e.g. for a ISO8601 formatted timestring, use: %{%Y-%m-%dT%H: | ||
| + | ; %T: time the log has been written (the request has finished) | ||
| + | ; it can accept a strftime(3) format: | ||
| + | ; %d/ | ||
| + | ; The strftime(3) format must be encapsuled in a %{< | ||
| + | ; e.g. for a ISO8601 formatted timestring, use: %{%Y-%m-%dT%H: | ||
| + | ; %u: remote user | ||
| + | ; | ||
| + | ; Default: "%R - %u %t \"%m %r\" %s" | ||
| + | ; | ||
| + | |||
| + | ; The log file for slow requests | ||
| + | ; Default Value: not set | ||
| + | ; Note: slowlog is mandatory if request_slowlog_timeout is set | ||
| + | ;slowlog = log/ | ||
| + | |||
| + | ; The timeout for serving a single request after which a PHP backtrace will be | ||
| + | ; dumped to the ' | ||
| + | ; Available units: s(econds)(default), | ||
| + | ; Default Value: 0 | ||
| + | ; | ||
| + | |||
| + | ; Depth of slow log stack trace. | ||
| + | ; Default Value: 20 | ||
| + | ; | ||
| + | |||
| + | ; The timeout for serving a single request after which the worker process will | ||
| + | ; be killed. This option should be used when the ' | ||
| + | ; does not stop script execution for some reason. A value of ' | ||
| + | ; Available units: s(econds)(default), | ||
| + | ; Default Value: 0 | ||
| + | ; | ||
| + | |||
| + | ; The timeout set by ' | ||
| + | ; application calls ' | ||
| + | ; shutdown functions are being called (registered via register_shutdown_function). | ||
| + | ; This option will enable timeout limit to be applied unconditionally | ||
| + | ; even in such cases. | ||
| + | ; Default Value: no | ||
| + | ; | ||
| + | |||
| + | ; Set open file descriptor rlimit. | ||
| + | ; Default Value: system defined value | ||
| + | ; | ||
| + | |||
| + | ; Set max core size rlimit. | ||
| + | ; Possible Values: ' | ||
| + | ; Default Value: system defined value | ||
| + | ; | ||
| + | |||
| + | ; Chroot to this directory at the start. This value must be defined as an | ||
| + | ; absolute path. When this value is not set, chroot is not used. | ||
| + | ; Note: you can prefix with ' | ||
| + | ; of its subdirectories. If the pool prefix is not set, the global prefix | ||
| + | ; will be used instead. | ||
| + | ; Note: chrooting is a great security feature and should be used whenever | ||
| + | ; | ||
| + | ; | ||
| + | ; Default Value: not set | ||
| + | ;chroot = | ||
| + | |||
| + | ; Chdir to this directory at the start. | ||
| + | ; Note: relative path can be used. | ||
| + | ; Default Value: current directory or / when chroot | ||
| + | ;chdir = /var/www | ||
| + | |||
| + | ; Redirect worker stdout and stderr into main error log. If not set, stdout and | ||
| + | ; stderr will be redirected to /dev/null according to FastCGI specs. | ||
| + | ; Note: on highloaded environement, | ||
| + | ; process time (several ms). | ||
| + | ; Default Value: no | ||
| + | ; | ||
| + | |||
| + | ; Decorate worker output with prefix and suffix containing information about | ||
| + | ; the child that writes to the log and if stdout or stderr is used as well as | ||
| + | ; log level and time. This options is used only if catch_workers_output is yes. | ||
| + | ; Settings to " | ||
| + | ; Default value: yes | ||
| + | ; | ||
| + | |||
| + | ; Clear environment in FPM workers | ||
| + | ; Prevents arbitrary environment variables from reaching FPM worker processes | ||
| + | ; by clearing the environment in workers before env vars specified in this | ||
| + | ; pool configuration are added. | ||
| + | ; Setting to " | ||
| + | ; via getenv(), $_ENV and $_SERVER. | ||
| + | ; Default Value: yes | ||
| + | ;clear_env = no | ||
| + | |||
| + | ; Limits the extensions of the main script FPM will allow to parse. This can | ||
| + | ; prevent configuration mistakes on the web server side. You should only limit | ||
| + | ; FPM to .php extensions to prevent malicious users to use other extensions to | ||
| + | ; execute php code. | ||
| + | ; Note: set an empty value to allow all extensions. | ||
| + | ; Default Value: .php | ||
| + | ; | ||
| + | |||
| + | ; Pass environment variables like LD_LIBRARY_PATH. All $VARIABLEs are taken from | ||
| + | ; the current environment. | ||
| + | ; Default Value: clean env | ||
| + | ; | ||
| + | ;env[PATH] = / | ||
| + | ;env[TMP] = /tmp | ||
| + | ; | ||
| + | ;env[TEMP] = /tmp | ||
| + | |||
| + | ; Additional php.ini defines, specific to this pool of workers. These settings | ||
| + | ; overwrite the values previously defined in the php.ini. The directives are the | ||
| + | ; same as the PHP SAPI: | ||
| + | ; | ||
| + | ; be overwritten from PHP call ' | ||
| + | ; | ||
| + | ; PHP call ' | ||
| + | ; For php_*flag, valid values are on, off, 1, 0, true, false, yes or no. | ||
| + | |||
| + | ; Defining ' | ||
| + | ; extension_dir. Defining ' | ||
| + | ; overwrite previously defined php.ini values, but will append the new value | ||
| + | ; instead. | ||
| + | |||
| + | ; Note: path INI options can be relative and will be expanded with the prefix | ||
| + | ; (pool, global or /usr/local) | ||
| + | |||
| + | ; Default Value: nothing is defined by default except the values in php.ini and | ||
| + | ; specified at startup with the -d argument | ||
| + | ; | ||
| + | ; | ||
| + | ; | ||
| + | ; | ||
| + | ; | ||
| + | |||
| + | </ | ||
| + | |||
| + | |||
| + | |||
| + | nginx.conf | ||
| + | < | ||
| + | user www-data; | ||
| + | worker_processes | ||
| + | |||
| + | error_log | ||
| + | pid / | ||
| + | |||
| + | |||
| + | events { | ||
| + | worker_connections | ||
| + | } | ||
| + | |||
| + | |||
| + | http { | ||
| + | include | ||
| + | default_type | ||
| + | |||
| + | log_format | ||
| + | ' | ||
| + | '" | ||
| + | |||
| + | access_log | ||
| + | |||
| + | sendfile | ||
| + | # | ||
| + | |||
| + | keepalive_timeout | ||
| + | |||
| + | set_real_ip_from | ||
| + | set_real_ip_from | ||
| + | set_real_ip_from | ||
| + | real_ip_header | ||
| + | |||
| + | #gzip on; | ||
| + | |||
| + | upstream php-handler { | ||
| + | server app:9000; | ||
| + | } | ||
| + | |||
| + | server { | ||
| + | listen 80; | ||
| + | |||
| + | # Add headers to serve security related headers | ||
| + | # Before enabling Strict-Transport-Security headers please read into this | ||
| + | # topic first. | ||
| + | # add_header Strict-Transport-Security " | ||
| + | # includeSubDomains; | ||
| + | # | ||
| + | # WARNING: Only add the preload option once you read about | ||
| + | # the consequences in https:// | ||
| + | # will add the domain to a hardcoded list that is shipped | ||
| + | # in all major browsers and getting removed from this list | ||
| + | # could take several months. | ||
| + | add_header X-Content-Type-Options nosniff; | ||
| + | add_header X-XSS-Protection "1; mode=block"; | ||
| + | add_header X-Robots-Tag none; | ||
| + | add_header X-Download-Options noopen; | ||
| + | add_header X-Permitted-Cross-Domain-Policies none; | ||
| + | add_header Referrer-Policy no-referrer; | ||
| + | |||
| + | # Remove X-Powered-By, | ||
| + | fastcgi_hide_header X-Powered-By; | ||
| + | |||
| + | root / | ||
| + | |||
| + | location = /robots.txt { | ||
| + | allow all; | ||
| + | log_not_found off; | ||
| + | access_log off; | ||
| + | } | ||
| + | |||
| + | # The following 2 rules are only needed for the user_webfinger app. | ||
| + | # Uncomment it if you're planning to use this app. | ||
| + | #rewrite ^/ | ||
| + | #rewrite ^/ | ||
| + | # last; | ||
| + | |||
| + | location = / | ||
| + | return 301 $scheme:// | ||
| + | } | ||
| + | location = / | ||
| + | return 301 $scheme:// | ||
| + | } | ||
| + | |||
| + | # set max upload size | ||
| + | client_max_body_size 10G; | ||
| + | fastcgi_buffers 64 4K; | ||
| + | |||
| + | # Enable gzip but do not remove ETag headers | ||
| + | gzip on; | ||
| + | gzip_vary on; | ||
| + | gzip_comp_level 4; | ||
| + | gzip_min_length 256; | ||
| + | gzip_proxied expired no-cache no-store private no_last_modified no_etag auth; | ||
| + | gzip_types application/ | ||
| + | |||
| + | # Uncomment if your server is build with the ngx_pagespeed module | ||
| + | # This module is currently not supported. | ||
| + | #pagespeed off; | ||
| + | |||
| + | location / { | ||
| + | rewrite ^ / | ||
| + | } | ||
| + | |||
| + | location ~ ^/ | ||
| + | deny all; | ||
| + | } | ||
| + | location ~ ^/ | ||
| + | deny all; | ||
| + | } | ||
| + | |||
| + | location ~ ^/ | ||
| + | fastcgi_split_path_info ^(.+\.php)(/ | ||
| + | include fastcgi_params; | ||
| + | fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; | ||
| + | fastcgi_param PATH_INFO $fastcgi_path_info; | ||
| + | # fastcgi_param HTTPS on; | ||
| + | #Avoid sending the security headers twice | ||
| + | fastcgi_param modHeadersAvailable true; | ||
| + | fastcgi_param front_controller_active true; | ||
| + | fastcgi_pass php-handler; | ||
| + | fastcgi_request_buffering off; | ||
| + | } | ||
| + | |||
| + | location ~ ^/ | ||
| + | try_files $uri/ =404; | ||
| + | index index.php; | ||
| + | } | ||
| + | |||
| + | # Adding the cache control header for js and css files | ||
| + | # Make sure it is BELOW the PHP block | ||
| + | location ~ \.(?: | ||
| + | try_files $uri / | ||
| + | add_header Cache-Control " | ||
| + | # Add headers to serve security related headers (It is intended to | ||
| + | # have those duplicated to the ones above) | ||
| + | # Before enabling Strict-Transport-Security headers please read into | ||
| + | # this topic first. | ||
| + | # add_header Strict-Transport-Security " | ||
| + | # includeSubDomains; | ||
| + | # | ||
| + | # WARNING: Only add the preload option once you read about | ||
| + | # the consequences in https:// | ||
| + | # will add the domain to a hardcoded list that is shipped | ||
| + | # in all major browsers and getting removed from this list | ||
| + | # could take several months. | ||
| + | add_header X-Content-Type-Options nosniff; | ||
| + | add_header X-XSS-Protection "1; mode=block"; | ||
| + | add_header X-Robots-Tag none; | ||
| + | add_header X-Download-Options noopen; | ||
| + | add_header X-Permitted-Cross-Domain-Policies none; | ||
| + | # Optional: Don't log access to assets | ||
| + | access_log off; | ||
| + | } | ||
| + | |||
| + | location ~ \.(?: | ||
| + | try_files $uri / | ||
| + | # Optional: Don't log access to other assets | ||
| + | access_log off; | ||
| + | } | ||
| + | } | ||
| + | |||
| + | } | ||
| + | |||
| + | </ | ||
| + | |||
| + | |||
| + | |||
| + | docker exec -u www-data nextcloud_app_1 php occ app:disable richdocumentscode | ||
informatica/microservers/nextcloud.1607853334.txt.gz · Last modified: by jose
