Compare commits

...

2 Commits

Author SHA1 Message Date
perl 67d70468ba add static site vhost example 2024-09-22 19:40:39 +03:00
perl 63b6b22596 update gitignore 2024-09-22 19:40:17 +03:00
5 changed files with 72 additions and 3 deletions

7
.gitignore vendored
View File

@ -1,8 +1,9 @@
logs/*
ssl/*
sites-enabled/*
!sites-enabled/reverse.conf.tplm
!sites-enabled/reverse.conf.tmpl
!sites-enabled/http_redirect.conf
!sites-enabled/default.conf
!sites-enabled/reverse.conf.tplm.expanded
!sites-enabled/upstreams.conf.tplm
!sites-enabled/reverse.conf.tmpl.expanded
!sites-enabled/upstreams.conf.tmpl
!sites-enabled/static.conf.tmpl

View File

@ -0,0 +1,68 @@
# ПРИМЕР конфигурации для статичного сайта
server {
#ipv4
listen 443 ssl;
#ipv6
listen [::]:443 ssl;
#Разрешить использование http2;
http2 on;
#Доменное имя, по совпадению будет использована эта конфигурация
server_name resources.softsols.ru;
#Имя файла сертификата (путь)
ssl_certificate /etc/nginx/ssl/live/softsols.ru/fullchain.pem;
#Имя файла приватного(закрытого) ключа сертификата (путь)
ssl_certificate_key /etc/nginx/ssl/live/softsols.ru/privkey.pem;
#Версии TLS, TLS v1.0 и 1.1 отключены по причине древности
ssl_protocols TLSv1.2 TLSv1.3;
#Набор шифров для установления защищенного соединения (Только сильные шифры, запрет шифров без аутентификации, запрет хеш-флгортима md5)
ssl_ciphers HIGH:!aNULL:!MD5;
#Использование только шифров, предлагаемых сервером
ssl_prefer_server_ciphers on;
#Внешние зависимости
include configuration/_includes.conf;
#Основной location для сайта
#Все запросы, отправленные на корневой url сайта
location / {
#Корневой каталог
root /var/www/html/resources;
#Индексный файл, используется по умлочанию
index index.html;
#Логика обработки файлов и запросов
#Открывать файл(или каталог) из uri и, если нет, вернуть 404
#Предотвращает ситуацию, когда сервер может случайно передать что-то нежелательное, если запрашиваемый ресурс не существует
try_files $uri $uri/ =404;
}
#! Опционально
#кэширования для статических файлов(картинок, скриптов и т.д.)
#Бляха-муха, поясню:
# ~* - регистронезависимая регулярка
# \.(jpg|jpeg|png|gif|ico|css|js|svg)$ будет пременен ко всем файлам с соответствующими расширениями, например *.jpg$
#т.е. location нацелен на обработку статических данных, которые можно кэшировать
location ~* \.(jpg|jpeg|png|gif|ico|css|js|svg)$ {
#Сообщить клиенту (браузеру, прокси), что данные можно держать в кэше 30 дней
expires 30d;
#Добавляет возвращаемый заголовок Cache-Control управления кэшированием
#public - могут кешировать как браузеры, так и промежуточные прокси-серверы
#no-transform (промежуточные прокси-сервера и браузеры) не должны изменять содержимое файла (например, не должны перекодировать изображения)
#более гибкий и современный, чем Expires, и используется для более точного контроля кэширования.
add_header Cache-Control "public, no-transform";
#! Опционально
#Отключает ведение логов доступа для этих файлов.
access_log off;
}
}