livetv

Рейтинг
266
Регистрация
10.02.2015

Странно, что для css отдается html.

Проверьте настройки хостинга, сделайте css статичным, меняйте хостера.

Заметил, что есть редкие обращения через 4-15 минут от первого посещения.

В основном из китайских IP.

Обращение в основном зафиксировано одно с IP и оно просроченное.

Ответ выкачивают не весь.

А так запросы, судя по логам, якобы закешированы. Только первый запрос не с кеша.

Установил кеш 15 мин.

По логам некешированный только первый запрос.

Но все равно левый трафик есть.

Andreyka:
Хотите урезать исход? Прикрутите iptables/tc.

Таким образом у меня будет 8 исходящих по 0,1 МБит/с.

А мне нужно 1 исходящее на 0,8 МБит/с

Что еще могу сказать:

Время кеширования достаточно. ИНтервал между первым и последним запросом к файлу - 1 мин.

Какие вижу варианты:

1. Сделать промежуточный прокси (с хранением кеша в том же месте, если это 1 физический сервер).

Но если к этому прокси будет стучаться несколько бекэндов, то тоже возможна ситуация с повторными запросами.

2. Отдавать через fastcgi_cache_lock + php

Блокировку запросов делать уже в php, если поступил второй такой запрос.

Только непонятно, что будет, если по повторному запросу отдать допустим 503 ответ.

Если бы у X-Accel-Redirect можно было задать время.

3. Отдавать через try_files + fastcgi_cache_lock + php

После скачивания ложить файл, куда нужно, и время fastcgi кеша пару секунд, чтобы не было дублирования.

Ложить файл через fastcgi_store или php.

Тоже непонятно, что будет, если по повторному запросу отдать допустим 503 ответ.

4. Отдавать через try_files + php

После скачивания ложить файл, куда нужно.

По повторному запросу отдаем заголовок 'Refresh: 3; url=http://'.$_SERVER['HTTP_HOST'].$uri

Браузер через 3 секунды придет, а файл уже будет.

(на данный момент такая схема используется в другом месте)

5. Посмотреть на встроенный в nginx lua | perl

6. Отправить багрепорт в nginx. :)

Однобайтовая кодировка - это не плохо.

А многобайтовая может быть чуть хуже из-за большего размера страницы и времени ее скачивания.

Если все нужные символы влезают в win-1251 или html-entities, то смысла переходить нету.

Циферные ссылки для более быстрого поиска в базе данных.

Также у новости может поменяться текстовый юрл, но циферный останется.

Сайты в моей тематике (онлайн ТВ) постоянно рендомизируются во всех ПС. :)

Постоянно появляются новые сайты в ТОП-10.

jkm:
Тот вариант рабочий нужно только чуть исправить одну строку.

RewriteCond %{REQUEST_FILENAME} !^/blog/.*\.html$


Заменить REQUEST_FILENAME на REQUEST_URI

RewriteCond %{REQUEST_URI} !^/blog/.*\.html$

Проверял на локальном сервере, все работает...

Замена приведет к тому, что не будут обрабатываться адреса вроде:

/blog/bla-bla-bla?query_string=some.html

:)

Erlick:
Попробовал Ваш вариант, не получилось, чего-то не хватает, не добавляет окончание html.

Оно и не должно добавлять...

Оно должно давать работать старым адресам с новым движком. :)

Если Вы вообще не в теме, попросите кого-то натстроить, а то я мог бы посоветовать выполнить rm -rf из консоли :)

П.С.


RewriteRule ^blog/(.+)$ /blog/$1.html [L]
и Ваш вариант даст циклический редирект, если файла нету.

Правильно так:


RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !^/blog/.*\.html$
RewriteRule ^blog/(.+)$ /blog/$1.html [L]

gzip_min_length 10;

Смысла в этом нет.

Достаточно

gzip_min_length 1024;

Вы точно обращаетесь к серверу localhost? :)

Пропишите а этом блоке


location ~* \.(?:ico|css|js|gif|jpe?g|png)$ {
return 403;
}

Если ответ будет не 403, значит эта секция не отрабатывает.

Возможно js файлы обрабатываются в других файлах.

П.С.

Почему сервер localhost прописан в nginx.conf, а не в


include /etc/nginx/conf.d/*.conf;
include /etc/nginx/vhosts/*/*;
Всего: 2580