Jump to content
Дизайн и модификация IPS Community IPBSkinsBETA
Search In
  • More options...
Find results that contain...
Find results in...
Sign in to follow this  
siv1987

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

Recommended Posts

Обновился клиент до 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.

Share this post


Link to post
Share on other sites

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

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

Share this post


Link to post
Share on other sites

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

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

Share this post


Link to post
Share on other sites

там единственное что может раздуться это кука прочитанных тем 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;

 

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

  • Upvote 1

Share this post


Link to post
Share on other sites

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

 

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

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

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

 

Fix

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

 

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

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

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

 

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

 

Fix 502 Bad Gateway.xml

Share this post


Link to post
Share on other sites

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

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

Share this post


Link to post
Share on other sites

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

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

 

proxy_buffer_size  16K;
proxy_buffers  8 16K;

  • Upvote 1

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this  

  • Recently Browsing   0 members

    No registered users viewing this page.

×
×
  • Create New...