You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: README.md
+34-21Lines changed: 34 additions & 21 deletions
Original file line number
Diff line number
Diff line change
@@ -1,4 +1,4 @@
1
-
#Полезные шаблоны конфигов для Nginx
1
+
#Полезные шаблоны конфигов для Nginx
2
2
3
3
Переведено и дополнено на основе репозитория [nginx-conf](https://github.com/lebinh/nginx-conf) от [@lebinh](https://github.com/lebinh)
4
4
@@ -30,14 +30,14 @@
30
30
-[Источники](#Источники)
31
31
32
32
33
-
##Команды Nginx
33
+
##Команды Nginx
34
34
Основные команды для выполнения базовый операций во время работы Nginx.
35
35
36
36
*`nginx -V` - проверить версию Nginx, его скомпилированные параметры конфигурации и установленные модули.
37
37
*`nginx -t` - протестировать конфигурационный файл и проверить его расположение.
38
38
*`nginx -s reload` - перезапустить конфигурационный файл без перезагрузки Nginx.
39
39
40
-
##Location блок на PHP
40
+
##Location блок на PHP
41
41
Простой шаблон для быстрой и легкой установки PHP, FPM или CGI на ваш сайт.
42
42
```
43
43
location ~ \.php$ {
@@ -49,7 +49,7 @@ location ~ \.php$ {
49
49
fastcgi_pass unix:/path/to/php.sock;
50
50
}
51
51
```
52
-
##Rewrite и Redirection
52
+
##Rewrite и Redirection
53
53
### Force www
54
54
[Корректный способ](http://nginx.org/en/docs/http/converting_rewrite_rules.html) определить удаленный сервер по домену без *www* и перенаправить его c *www*:
55
55
```
@@ -67,7 +67,7 @@ server {
67
67
```
68
68
*Также работает для HTTPS *
69
69
70
-
###Force no-www
70
+
###Force no-www
71
71
Корректный способ определить удаленный сервер по домену c *www* и перенаправить его без *www*:
72
72
```
73
73
server {
@@ -98,7 +98,7 @@ server {
98
98
...
99
99
}
100
100
```
101
-
###Force Trailing Slash
101
+
###Force Trailing Slash
102
102
Данная строка добавляет слэш `/` в конце каждого URL, только в том случаее если в URL нет точки или параметров. Тоесть после *example.com/index.php* или *example.com/do?some=123* слэш не поставится.
По умолчанию [Stub Status](http://nginx.org/ru/docs/http/ngx_http_stub_status_module.html) модуль не собирается, его сборку необходимо разрешить с помощью конфигурационного параметра —with-http_stub_status_module и активировать с помощью:
195
208
```
196
209
location /status {
@@ -213,8 +226,8 @@ location /status {
213
226
214
227
Также для сбора статистики отлично подходит [ngxtop](https://github.com/lebinh/ngxtop).
215
228
216
-
##Безопасность
217
-
###Активация базовой аунтификации
229
+
##Безопасность
230
+
###Активация базовой аунтификации
218
231
Для начала вам потребуется создать пароль и сохранить его в обычной текстовом файле:
219
232
```
220
233
имя:пароль
@@ -225,15 +238,15 @@ location /status {
225
238
auth_basic "This is Protected";
226
239
auth_basic_user_file /path/to/password-file;
227
240
```
228
-
###Открыть только локальный доступ
241
+
###Открыть только локальный доступ
229
242
```
230
243
location /local {
231
244
allow 127.0.0.1;
232
245
deny all;
233
246
...
234
247
}
235
248
```
236
-
###Защита SSL настроек
249
+
###Защита SSL настроек
237
250
* Отключить SSLv3, если он включен по умолчанию. Это предотвратит [POODLE SSL Attack](http://nginx.com/blog/nginx-poodle-ssl/).
238
251
* Шифры, которые наилучшим образом обеспечат защиту. [Mozilla Server Side TLS and Nginx](https://wiki.mozilla.org/Security/Server_Side_TLS#Nginx).
Бывают ситуации, когда вам необходимо передать запрос на другой бэкэнд **в дополнении или после его обработки**. Первый случай - отслеживать количество завершенных загрузок путем вызова API, после того как пользователь скачал файл. Второй случай -отслеживать запрос, к которому вы бы хотели вернуться как можно быстрее (возможно с пустым .gif) и сделать соответствующие записи в фоновом режиме. [**post_action**](http://wiki.nginx.org/HttpCoreModule#post_action), который позволяет вам определить подзапрос и будет отклонен по окончанию текущего запроса - является [лучшим решением](http://mailman.nginx.org/pipermail/nginx/2008-April/004524.html) для обоих вариантов.
250
263
```
@@ -259,7 +272,7 @@ location @track {
259
272
proxy_pass http://tracking-backend;
260
273
}
261
274
```
262
-
###Распределение ресурсов между источниками
275
+
###Распределение ресурсов между источниками
263
276
264
277
Самый простой и наиболее известный способ кросс-доменного запроса на ваш сервер:
0 commit comments