Created
September 23, 2019 16:28
-
-
Save mark99i/9fdc728826d009b63339f70f370d6550 to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
upstream php-handler { | |
server 127.0.0.1:9000; | |
# server unix:/var/run/php/php7.3-fpm.sock; | |
} | |
#server { | |
# listen 80; | |
# listen [::]:80; | |
# server_name cloud.mydomain.ru; | |
# принудительное использование https | |
# return 301 https://$server_name:443$request_uri; | |
#} | |
server { | |
# listen 443 ssl http2; | |
# listen [::]:443 ssl http2; | |
listen 80 default_server; | |
# listen [::]:80; | |
# server_name cloud.mydomain.ru; | |
server_name nextcloud | |
root /var/www/html; | |
# Add index.php to the list if you are using PHP | |
index index.html index.htm index.nginx-debian.html; | |
# Используйте рекомендации Mozilla для настроек SSL / TLS | |
# https://mozilla.github.io/server-side-tls/ssl-config-generator/ | |
# ПРИМЕЧАНИЕ: некоторые настройки ниже могут быть избыточными | |
# ssl_certificate /etc/nginx/nginx-selfsigned.crt; | |
# ssl_certificate_key /etc/nginx/nginx-selfsigned.key; | |
# Добавьте заголовки для обслуживания заголовков, связанных с безопасностью | |
# Перед включением заголовков Strict-Transport-Security, пожалуйста, сначала прочтите эту тему. | |
#add_header Strict-Transport-Security "max-age=15768000; includeSubDomains; preload;"; | |
# | |
# ПРЕДУПРЕЖДЕНИЕ. Добавляйте параметр предварительной загрузки только после того, как вы прочитали о | |
# последствиях на https://hstspreload.org/. Этот вариант | |
# добавит домен в жестко закодированный список, который | |
# поставляется во всех основных браузерах и удаление из этого списка | |
# может занять несколько месяцев. | |
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; | |
# Удалить X-Powered-By, который является утечкой информации | |
fastcgi_hide_header X-Powered-By; | |
# Путь к корню вашей инсталляции | |
root /var/www/html/nextcloud; | |
location = /robots.txt { | |
allow all; | |
log_not_found off; | |
access_log off; | |
} | |
# Следующие 2 правила нужны только для приложения user_webfinger. | |
# Раскомментируйте, если вы планируете использовать это приложение. | |
#rewrite ^/.well-known/host-meta /public.php?service=host-meta last; | |
#rewrite ^/.well-known/host-meta.json /public.php?service=host-meta-json last; | |
# Следующее правило необходимо только для приложения Social. | |
# Раскомментируйте, если вы планируете использовать это приложение. | |
#rewrite ^/.well-known/webfinger /public.php?service=webfinger last; | |
location = /.well-known/carddav { | |
return 301 $scheme://$host:$server_port/remote.php/dav; | |
} | |
location = /.well-known/caldav { | |
return 301 $scheme://$host:$server_port/remote.php/dav; | |
} | |
# установить максимальный размер загрузки | |
client_max_body_size 512M; | |
fastcgi_buffers 64 4K; | |
# Включите gzip, но не удаляйте заголовки ETag | |
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/atom+xml application/javascript application/json application/ld+json application/manifest+json | |
application/rss+xml application/vnd.geo+json application/vnd.ms-fontobject application/x-font-ttf application/x-web-app-manifest+json | |
application/xhtml+xml application/xml font/opentype image/bmp image/svg+xml image/x-icon text/cache-manifest text/css text/plain text/vcard | |
text/vnd.rim.location.xloc text/vtt text/x-component text/x-cross-domain-policy; | |
# Раскомментируйте, если ваш сервер собран с модулем ngx_pagespeed | |
# Этот модуль в настоящее время не поддерживается. | |
#pagespeed off; | |
location / { | |
rewrite ^ /index.php$request_uri; | |
} | |
location ~ ^\/(?:build|tests|config|lib|3rdparty|templates|data)\/ { | |
deny all; | |
} | |
location ~ ^\/(?:\.|autotest|occ|issue|indie|db_|console) { | |
deny all; | |
} | |
location ~ ^\/(?:index|remote|public|cron|core\/ajax\/update|status|ocs\/v[12]|updater\/.+|oc[ms]-provider\/.+)\.php(?:$|\/) { | |
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; | |
# Enable pretty urls | |
fastcgi_param front_controller_active true; | |
fastcgi_pass php-handler; | |
fastcgi_intercept_errors on; | |
fastcgi_request_buffering off; | |
} | |
location ~ ^\/(?:updater|oc[ms]-provider)(?:$|\/) { | |
try_files $uri/ =404; | |
index index.php; | |
} | |
# Добавление заголовка управления кэшем для JS, CSS и карта файлов | |
# Убедитесь , что это НИЖЕ PHP блок | |
location ~ \.(?:css|js|woff2?|svg|gif|map)$ { | |
try_files $uri /index.php$request_uri; | |
add_header Cache-Control "public, max-age=15778463"; | |
#Добавьте заголовки для обслуживания заголовков, связанных с безопасностью (предполагается, | |
# чтобы они дублировались к указанным выше) | |
# Перед включением заголовков Strict-Transport-Security, пожалуйста, | |
#сначала | |
#прочтите # эту тему. #add_header Strict-Transport-Security "max-age = 15768000; includeSubDomains; preload;"; | |
# | |
# ПРЕДУПРЕЖДЕНИЕ. Добавляйте параметр предварительной загрузки только после того, как вы прочитали о | |
# последствиях на https://hstspreload.org/. | |
# Эта опция добавит домен в жестко закодированный список, который | |
# поставляется во всех основных браузерах и удаление из этого списка может занять несколько месяцев. | |
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; | |
# Необязательно: не регистрировать доступ к ресурсам | |
access_log off; | |
} | |
location ~ \.(?:png|html|ttf|ico|jpg|jpeg)$ { | |
try_files $uri /index.php$request_uri; | |
# Необязательно: не регистрировать доступ к другим ресурсам | |
access_log off; | |
} | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment