Шаблон конфигурации для nginx


Автор - Ковалев Антон
Дата последнего редактирования - 02.02.2024

Подробнее с программой nginx, можно ознакомиться на данной странице.

* Отредактируйте шаблон в соответствии с вашими настройками перед запуском службы!

Для скачивания файла можно воспользоваться командой:

curl -O "https://gitflic.ru/project/kovalevaa/utils/blob/raw?file=nginx/mytest.site.ru"

Файл mytest.site.ru

mytest.site.ru
server { 
  listen 80; 
  server_name mytest.site.ru;  
  client_max_body_size 10G; 

  location / {
    proxy_pass http://127.0.0.1:8080;
    proxy_read_timeout 3600s;
    proxy_send_timeout 3600s;
    proxy_set_header X-Real-IP $remote_addr;
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    proxy_set_header Host $http_host;
    proxy_set_header X-Forwarded-Ssl "ON";
    proxy_set_header X-Forwarded-Proto $scheme;
    proxy_set_header Upgrade $http_upgrade;
    proxy_set_header Connection "Upgrade";
    proxy_redirect off;
    proxy_buffering off;
    proxy_http_version 1.1;
  }


    listen 443 ssl; 
    ssl_certificate /etc/ssl/certs/mytest.site.ru/fullchain.pem;
    ssl_certificate_key /etc/ssl/private/mytest.site.ru/privkey.pem; 
}

server {
    if ($host = mytest.site.ru) {
        return 301 https://$host$request_uri;
    } 


  listen 80;
  server_name mytest.site.ru;
    return 404;
}

Краткое описание работы с программой nginx

По умолчанию, файлы настроек сайтов nginx находятся в директориях:

/etc/nginx/sites-available - Файлы всех доступных настроек
/etc/nginx/sites-enable - Файлы настроек, применяемые в данный момент

- Конфигурационные файлы, принято называть по названию домена, к которому относится файл. Например, mytest.site.ru или mytest.site.ru.conf - Все конфигурационные файлы принято хранить в директории /etc/nginx/sites-available - Для применения конфигурационных файлов, принято создавать символическую ссылку на файл конфигурации в директорию /etc/nginx/sites-enable

ln -s /etc/nginx/sites-available/mytest.site.ru /etc/nginx/sites-enable

- Прежде чем перезапускать службу nginx, проверьте корректность конфигурационных файлов командой:

nginx -t

- Для применения настроек необходимо перезапустить/перезагрузить службу nginx

Краткое описание шаблона

server {} - Блок настроек backend сервера
- listen - Директива указывающая какой порт прослушивать
- server_name - Директива указывающая какой hostname слушать
- ssl_certificate - Путь до файла сертификата
- ssl_certificate_key - Путь до файла приватного ключа
- include - Директива импорта настроек из указанного файла

location / {} - Блок настроек проксирования. / - Указывает перенаправлять все входящие запросы
- proxy_pass - Адрес куда перенаправлять запросы
- proxy_read_timeout, proxy_send_timeout - Настройки таймаута
- proxy_set_header - Настройки заголовков запросов
- proxy_redirect - Устанавливает и/или выключает замену заголовка Location
- proxy_buffering - Настройка буферизации
- proxy_http_version - Весрия http протокола