Перейти к публикации
View in the app

A better way to browse. Learn more.

Дизайн и модификация Invision Community

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

Заголовок Link и 502 Bad Gateway

Опубликовано:

Обновился клиент до IPS 4.4.0 и на некоторых страницах начала появляться ошибка 502 Bad Gateway.

Сервер состоит из связки Nginx и Apache. Было понятно, что скорее всего проблема где-то с заголовками, посмотрел ответ сервера а там длинный заголовок Link:

 

Link: //site.ru/applications/core/interface/howler/howler.core.min.js?v=1875ff7478; rel=preload; as=script, https://site.ru/uploads/javascript_global/root_library.js.9f1ede1683ae47a8d02ec223b2003ac4.js?v=1875ff7478; rel=preload; as=script, https://site.ru/uploads/javascript_global/root_js_lang_6.js.3d73a106a81526002c53287df9c8c9f3.js?v=1875ff7478; rel=preload; as=script, https://site.ru/uploads/javascript_global/root_framework.js.285949efd9c25175cc74470e44f099f3.js?v=1875ff7478; rel=preload; as=script, https://site.ru/uploads/javascript_core/global_global_core.js.82f7a73924d6576117cb0f85269a82e8.js?v=1875ff7478; rel=preload; as=script, https://site.ru/uploads/javascript_core/plugins_plugins.js.50cecb988c94cd9954e3c54846999fe3.js?v=1875ff7478; rel=preload; as=script, https://site.ru/uploads/javascript_global/root_front.js.2720c5408f001dd74b0196b7a62f8f04.js?v=1875ff7478; rel=preload; as=script, https://site.ru/uploads/javascript_core/front_front_widgets.js.1e466f4287b96992d2cf396bb3bb6c41.js?v=1875ff7478; rel=preload; as=script, https://site.ru/uploads/javascript_gallery/front_front_browse.js.6d7409d6d924824a8582779569a35799.js?v=1875ff7478; rel=preload; as=script, https://site.ru/uploads/javascript_forums/front_front_forum.js.cb0db55f5ca74ed352800e3cb39ca095.js?v=1875ff7478; rel=preload; as=script, https://site.ru/uploads/javascript_global/root_map.js.27c041d7c51bc47a161dfcf0871cd3fe.js?v=1875ff7478; rel=preload; as=script, https://site.ru/uploads/css_built_11/341e4a57816af3ba440d891ca87450ff_framework.css.cdff94d5a4d2a4830c145453eaa926df.css?v=1875ff7478; rel=preload; as=style, https://site.ru/uploads/css_built_11/05e81b71abe4f22d6eb8d1a929494829_responsive.css.6e3db337157ace55552af8067642774d.css?v=1875ff7478; rel=preload; as=style, https://site.ru/uploads/css_built_11/20446cf2d164adcc029377cb04d43d17_flags.css.3da20780c6a70060a3db52ccda2530b5.css?v=1875ff7478; rel=preload; as=style, https://site.ru/uploads/css_built_11/90eb5adf50a8c640f633d47fd7eb1778_core.css.79df594e9c39e5be37a99916ab78c2a4.css?v=1875ff7478; rel=preload; as=style, https://site.ru/uploads/css_built_11/5a0da001ccc2200dc5625c3f3934497d_core_responsive.css.042f3aa22ef54121994ff095821788d4.css?v=1875ff7478; rel=preload; as=style, https://site.ru/uploads/css_built_11/62e269ced0fdab7e30e026f1d30ae516_forums.css.b165718214136a3e8b025da7e0c7258b.css?v=1875ff7478; rel=preload; as=style, https://site.ru/uploads/css_built_11/76e62c573090645fb99a15a363d8620e_forums_responsive.css.1a5e7ae3481f706c758cb1656cfad0cd.css?v=1875ff7478; rel=preload; as=style, https://site.ru/uploads/css_built_11/aa0d3895a07f810ea9ac4b0e03928774_promote.css.1bc4b40b32d155b7812085df76fa20b5.css?v=1875ff7478; rel=preload; as=style, https://site.ru/uploads/css_built_11/311e677be1fd9bd34c1ccbaf8c789d99_promote_responsive.css.6a6056b10ebb733aae37a4fd2beba6fc.css?v=1875ff7478; rel=preload; as=style, https://site.ru/uploads/css_built_11/ecf8cbf597c675f333fa61d7fe877660_widgets.css.24bc82f11b454d4ce155573b8b1264b6.css?v=1875ff7478; rel=preload; as=style, https://site.ru/uploads/css_built_11/63225940445060c5a9f21d31e95bf58e_downloads.css.ea0b1c6b905aceeb08ac569714c82b5c.css?v=1875ff7478; rel=preload; as=style, https://site.ru/uploads/css_built_11/258adbb6e4f3e83cd3b355f84e3fa002_custom.css.f92faea88f40a8fcea5f9187e79ac648.css?v=1875ff7478; rel=preload; as=style

 

Что за дичь они там переписали в system\Output\Output.php? Зачем это? В 4.3, в Link добавлялся только $tag['rel'] == 'preload'

Заголовок пока закаментировал. Форум заработал. Попробую увеличить размер заголовков в nginx.

Рекомендованные сообщения

Опубликовано:

Обновился клиент до IPS 4.4.0 и на некоторых страницах начала появляться ошибка 502 Bad Gateway.

Была такая же беда очень долгое время, но при открытие тем - когда просматриваешь большое количество тем. Выпадало на 502 Bad Gateway. Исправил это путём тюнинга nginx.conf

Опубликовано:
  • Автор

А какие конфиги конкретнее?

В тройке такой фигни нету, там единственное что может раздуться это кука прочитанных тем markread. Хотя кукисы это тот же заголовок и они влияют на их размер.

Опубликовано:

там единственное что может раздуться это кука прочитанных тем markread

Вот из-за них и было. Что только не делал - ничего не помогало. Только редактирование конфига нгинкс спасло.

 

А какие конфиги конкретнее?

После того как я внёс в конфиг вот это:

 

events {
   worker_connections  10240;
}

http {
server_tokens off;
sendfile on;
tcp_nopush on;
tcp_nodelay on;

keepalive_timeout 60;
types_hash_max_size 2048;

client_max_body_size  1024M;
client_body_buffer_size  4M;

proxy_connect_timeout 300;
proxy_send_timeout  300;
proxy_read_timeout 300;
proxy_buffer_size  64K;
proxy_buffers  8 256K;
proxy_busy_buffers_size  256K;
proxy_temp_file_write_size  10M;

server_names_hash_bucket_size 128;

 

Что именно из этого помогло - не знаю. Но тьфу тьфу всё норм сейчас.

Опубликовано:
  • Автор

Прочитал более подробно описание этого заголовка

 

Предварительная выборка ссылок - это механизм браузера, который использует время простоя браузера для загрузки или предварительной выборки документов, которые пользователь может посетить в ближайшем будущем. Веб-страница предоставляет набор подсказок предварительной выборки для браузера, и после того, как браузер завершит загрузку страницы, он начинает тихую предварительную выборку указанных документов и сохраняет их в своем кэше. Когда пользователь посещает один из предварительно выбранных документов, его можно быстро открыть из кеша браузера.

Сделано якобы для ускорения загрузки страниц, но они впихнули туда все ссылки css и скриптов форума, превысив стандартный размер тело заголовка.

Так как в основном статика кешируются, значение этот заголовок имеет только при первом посещение на форуме, или отсутствие кеша у браузера.

 

Fix

Открыть /system/Output/Output.php

 

$this->sendHeader( "Link: " . implode( ', ', $preload ) );

Заменить (закаментировать)

//$this->sendHeader( "Link: " . implode( ', ', $preload ) );

 

И плагин тля тех кто не хочет править файлы и нет возможности редактировать настройки сервера

 

Fix 502 Bad Gateway.xml

Опубликовано:

Сегодня тестово обновил форум 4.4.0..... вернул бэкап, не захотел играться.

Пока работает, пусть работает. ;)

Опубликовано:
  • Автор

Вобщем путем научного метода тыка нашел нужные конфиги - proxy_buffers и proxy_buffer_size.

По умолчанию они ровны 8K (4K в зависимости от системы). Увеличил их вдвое, проблема больше не наблюдается.

 

proxy_buffer_size  16K;
proxy_buffers  8 16K;

Создайте аккаунт или войдите в него для комментирования

Сейчас на странице 0

  • Нет пользователей, просматривающих эту страницу.

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.