Cowboy показывает старую версия html страницы из priv

169 views
Skip to first unread message

Denis Volokh

unread,
Dec 28, 2015, 10:44:19 AM12/28/15
to Erlang по-русски
Добрый день,

Не подскажите почему cowboy показывает старую html страницу, не могу найти, где она может кешироваться.

Dispatch = cowboy_router:compile([
            {'_', [
                {"/", cowboy_static, {file, "priv/index.html"}},
                {"/websocket", websocket_handler, []},
                {"/static/[...]", cowboy_static, {dir, "priv/static"}}
            ]}
        ]),

    {ok, _} = cowboy:start_http(http, 100, [{port, Port}], [{env, [{dispatch, Dispatch}]}]),


Max Lapshin

unread,
Dec 28, 2015, 10:56:18 AM12/28/15
to erlang-...@googlegroups.com
Простите, но в может браузере?

Курлом смотрели?

--
Вы получили это сообщение, поскольку подписаны на группу "Erlang по-русски".
Чтобы отменить подписку на эту группу и больше не получать от нее сообщения, отправьте письмо на электронный адрес erlang-russia...@googlegroups.com.
Чтобы отправлять сообщения в эту группу, отправьте письмо на электронный адрес erlang-...@googlegroups.com.
Чтобы настроить другие параметры, перейдите по ссылке https://groups.google.com/d/optout.

Denis Volokh

unread,
Dec 28, 2015, 10:38:22 PM12/28/15
to Erlang по-русски
Курлом еще попробую.

heiheshang

unread,
Dec 30, 2015, 4:21:10 AM12/30/15
to Erlang по-русски
Такая же фигня, посоветовали бэкэндом ковбой ставить,а статику nginx отдавать, сейчас ручками в браузере кэш чищю 

вторник, 29 декабря 2015 г., 0:44:19 UTC+9 пользователь Denis Volokh написал:

Aleksey Kluchnikov

unread,
Dec 30, 2015, 5:24:02 AM12/30/15
to erlang-russian
играйтесь http хеадерсами. через них управление кешированием идет и на прокси и в браузере

30 декабря 2015 г., 12:21 пользователь heiheshang <strangerf...@gmail.com> написал:

Max Lapshin

unread,
Dec 30, 2015, 5:34:56 AM12/30/15
to erlang-...@googlegroups.com
Коллеги, мне немного странно слышать такое =)

Разобраться в написании веб-сервера на эрланге, но не разобраться в таких новичковых вещах, как кеширование страниц в браузере!

Совет «статику nginx отдавать» — это типичное шаманство, годящееся для «вебмастера», ставящего скриптик для показывания порно за рекламу. Надо же всё таки поглубже погружаться в профессию!

Начните с консоли (Firebug и т.п.) веб-браузера, там показывается откуда брался урл: из кеша или нет.

И сразу скажу: ковбой отдает статику нормально. У nginx почти нет никаких волшебных примочек, которые позволяли бы ему отдавать эту самую статику быстрее ковбоя.

Aleksey Kluchnikov

unread,
Dec 30, 2015, 5:46:26 AM12/30/15
to erlang-russian
Зато у ковбоя, я гдето читал, есть проблемы с безопастностью, возможно уже пофикшеные, но для самоуспокоения, себя и админа, спрятать за nginx не помешает.

30 декабря 2015 г., 13:34 пользователь Max Lapshin <max.l...@gmail.com> написал:

--

Art Semyonov

unread,
Dec 30, 2015, 6:08:45 AM12/30/15
to erlang-...@googlegroups.com
«где-то читал» — так можно сказать про что угодно, в т.ч. даже про Nginx. Нужны пруфы.

Единственное что помню лично я, это была проблема с доступом к FS пару лет назад под виндами. Даже вот нагуглил, не поленился: https://github.com/ninenines/cowboy/issues/447

Aleksey Kluchnikov

unread,
Dec 30, 2015, 6:17:41 AM12/30/15
to erlang-russian
Неохото сегодня гуглить :)
Я читал про отсутствие на ограничение строки пост (вроде :) за счет чего можно было пихнуть этот самый пост огромного размера и завалить сервер
Плюс еще есть админ, которому нравится все за нжинкс прятать.

30 декабря 2015 г., 14:08 пользователь Art Semyonov <sev...@gmail.com> написал:

Andy

unread,
Dec 30, 2015, 6:18:58 AM12/30/15
to Erlang по-русски
Присоединяюсь, у меня ковбой тоже статику отдавал нормально. А за Энжинксом можно добавить еще варниш, хапрокси, стуннель и т.д. (в порядке новогодней шутки, улыбнитесь коллеги)

среда, 30 декабря 2015 г., 13:34:56 UTC+3 пользователь Max Lapshin написал:

Max Lapshin

unread,
Dec 30, 2015, 3:25:16 PM12/30/15
to erlang-...@googlegroups.com
Ещё более достойная программиста на эрланге шутка: «где-то что-то читал».

У нас пока что единственная причина прятать что-то за nginx — это что бы по vhost-ам разводить.

Федор

unread,
Dec 30, 2015, 3:37:57 PM12/30/15
to erlang-...@googlegroups.com
Вы свою проблему решили?
Если нет - очистите кеш браузера, наверняка уже проверили?
Каков результат? Если нет результата,
разберитесь в коде от запроса до формирования ответа, это действительно просто даже для новичка.
Может у вас не статика, а какой-нибудь скомпиленый шаблон? Я такое в примере от n2o видел.

28 дек. 2015 г., в 18:44, Denis Volokh <barma...@gmail.com> написал(а):

Владимир Щербина

unread,
Dec 30, 2015, 3:47:53 PM12/30/15
to erlang-...@googlegroups.com

Я в похожем случае добавил опцию  {etag, false} в перечне опций для статики при вызове cowboy_router:compile/1.

30.12.2015 22:37 пользователь "Федор" <fredp...@gmail.com> написал:

heiheshang

unread,
Jan 1, 2016, 4:34:22 AM1/1/16
to Erlang по-русски
Интересно как ими играться, я вот вижу что сервер присылает файл не модифицирован, а должен прислать что изменился. Я ему как об изменении должен сказать ? А сервер мне зачем если он сам не понимает что файл изменился ?

среда, 30 декабря 2015 г., 19:24:02 UTC+9 пользователь Aleksey Kluchnikov написал:

Max Lapshin

unread,
Jan 1, 2016, 4:42:07 AM1/1/16
to erlang-...@googlegroups.com
Вам если нужна помощь, то вы показывайте заголовки, которые вы видите.

Если на предыдущем запросе ваш веб-сервер отдал заголовки, которых достаточно что бы браузер больше не ходил к серверу, то он и не будет ходить.


heiheshang

unread,
Jan 6, 2016, 8:39:06 PM1/6/16
to Erlang по-русски
Проблема в том что файлы модифицируются, а заголовки нет.

пятница, 1 января 2016 г., 18:42:07 UTC+9 пользователь Max Lapshin написал:

Danil A. Zagoskin

unread,
Jan 7, 2016, 4:16:07 AM1/7/16
to Erlang по-русски
Если вы обнаружили ситуацию, в которой обновления файла на ФС (с увеличением mtime) сохраняет заголовки Last-Modified и Etag в ответе ковбоя, то это баг, о котором не следует молчать, а который следует воспроизвести и отправить репорт Лоику.

Код, который считает Etag:

Если же вы обновляете файл так, что его mtime остается прежним, то ковбой (да и не только он) будет не очень хорошо работать.

Alexander Zhuravlev

unread,
Jan 18, 2016, 11:44:12 AM1/18/16
to erlang-...@googlegroups.com
Если статический файл находится в shared folder vagrant/virtualbox, то
проблема может быть в поддержке sendfile в virtualbox:
https://github.com/ninenines/cowboy/issues/812
https://github.com/mitchellh/vagrant/issues/351
Reply all
Reply to author
Forward
0 new messages