[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"page-ru-/errors/general/error-occurred-while-trying-to-proxy-request":3,"mdc-vvqqo7-key":572,"mdc--8ig0rn-key":583,"mdc-ga24yh-key":591,"mdc-kmwhh4-key":615,"mdc--y1ysa2-key":623,"mdc-ov3x1b-key":631,"mdc-lay8he-key":639,"related-/errors/general/connection-refused-econnrefused,/guides/general/nginx-reverse-proxy-configuration,/guides/general/webpack-vite-proxy-setup":647},{"id":4,"title":5,"appliesTo":6,"author":11,"body":12,"canonical":509,"code":510,"createdAt":511,"description":512,"difficulty":513,"draft":514,"estimatedTime":515,"extension":516,"faq":517,"howToSteps":527,"howToTotalTime":540,"image":509,"keywords":541,"locale":550,"meta":551,"navigation":552,"path":553,"platform":554,"related":555,"section":559,"seo":560,"severity":561,"stem":562,"summary":563,"tags":564,"twitterCreator":509,"twitterSite":509,"type":570,"updatedAt":511,"__hash__":571},"content_ru/errors/general/error-occurred-while-trying-to-proxy-request.md","Ошибка прокси запроса: причины и пошаговое исправление",[7,8,9,10],"Node.js / Webpack Dev Server / Vite","Nginx / Apache (Reverse Proxy)","Docker Compose / Контейнерные сети","Любые HTTP-клиенты и API-шлюзы","FixPedia Team",{"type":13,"value":14,"toc":498},"minimark",[15,20,37,41,72,76,81,84,89,132,145,158,162,165,173,256,269,272,276,283,291,387,405,409,412,431,459,467,471,494],[16,17,19],"h2",{"id":18},"что-означает-ошибка-econnrefused","Что означает ошибка ECONNREFUSED",[21,22,23,24,28,29,32,33,36],"p",{},"Текст ошибки обычно выглядит так: ",[25,26,27],"code",{},"[HPM] Error occurred while trying to proxy request: /api/data"," или ",[25,30,31],{},"Error occurred while trying to proxy request to http://localhost:3000",". Она означает, что ваш прокси-сервер (часто это ",[25,34,35],{},"webpack-dev-server",", Vite, Nginx или API-шлюз) попытался перенаправить запрос к целевому бэкенду, но операционная система отклонила попытку подключения. Прокси не получает HTTP-ответ, потому что на сетевом уровне соединение не было установлено. Это останавливает разработку, так как фронтенд не может получить данные от API, и требует немедленной настройки маршрутизации или проверки сетевых служб.",[16,38,40],{"id":39},"причины-возникновения","Причины возникновения",[42,43,44,48,55,58,69],"ol",{},[45,46,47],"li",{},"Не запущен или аварийно завершился целевой сервер (Node.js, Python, Go-микросервис).",[45,49,50,51,54],{},"Указан неверный порт, IP-адрес или опечатка в конфигурационном файле ",[25,52,53],{},"target",".",[45,56,57],{},"Локальный брандмауэр или антивирус блокирует исходящие соединения на нестандартные порты.",[45,59,60,61,64,65,68],{},"Конфликт протоколов: прокси пытается подключиться по ",[25,62,63],{},"https",", а целевой сервер слушает только ",[25,66,67],{},"http"," (или не настроен самоподписанный сертификат).",[45,70,71],{},"Ошибки маршрутизации в Docker-сетях: контейнеры находятся в разных виртуальных сетях и не видят друг друга по имени сервиса.",[16,73,75],{"id":74},"способы-решения","Способы решения",[77,78,80],"h3",{"id":79},"способ-1-проверка-доступности-целевого-сервера","Способ 1: Проверка доступности целевого сервера",[21,82,83],{},"Первым делом убедитесь, что сервис, к которому вы проксируете запросы, действительно работает и доступен.",[42,85,86],{},[45,87,88],{},"Откройте терминал и выполните команду:",[90,91,96],"pre",{"className":92,"code":93,"language":94,"meta":95,"style":95},"language-bash shiki shiki-themes github-light github-dark","curl -v http://localhost:\u003CВАШ_ПОРТ>/\n","bash","",[25,97,98],{"__ignoreMap":95},[99,100,103,107,111,115,119,122,126,129],"span",{"class":101,"line":102},"line",1,[99,104,106],{"class":105},"sScJk","curl",[99,108,110],{"class":109},"sj4cs"," -v",[99,112,114],{"class":113},"sZZnC"," http://localhost:",[99,116,118],{"class":117},"szBVR","\u003C",[99,120,121],{"class":113},"ВАШ_ПОР",[99,123,125],{"class":124},"sVt8B","Т",[99,127,128],{"class":117},">",[99,130,131],{"class":113},"/\n",[42,133,135,142],{"start":134},2,[45,136,137,138,141],{},"Если в ответе вы видите ",[25,139,140],{},"Connection refused",", значит процесс не запущен или слушает другой интерфейс (например, только IPv6).",[45,143,144],{},"Запустите бэкенд заново и проверьте логи на наличие ошибок при старте.",[146,147,148],"blockquote",{},[21,149,150,151,28,154,157],{},"💡 Совет: Используйте ",[25,152,153],{},"netstat -tuln",[25,155,156],{},"lsof -i :\u003Cпорт>",", чтобы точно увидеть, на каком адресе и порту слушает ваш процесс.",[77,159,161],{"id":160},"способ-2-корректировка-конфигурации-прокси","Способ 2: Корректировка конфигурации прокси",[21,163,164],{},"Если сервер работает, но ошибка сохраняется, проверьте настройки маршрутизации в вашем инструменте разработки или веб-сервере.",[21,166,167,168,172],{},"Для ",[169,170,171],"strong",{},"Webpack Dev Server / Create React App",":",[90,174,178],{"className":175,"code":176,"language":177,"meta":95,"style":95},"language-javascript shiki shiki-themes github-light github-dark","// webpack.config.js или config файла devServer\nmodule.exports = {\n  devServer: {\n    proxy: {\n      '/api': {\n        target: 'http://localhost:8080',\n        changeOrigin: true,              // Подменяет Host в заголовке запроса\n        secure: false,                   // Отключает проверку SSL для локальной разработки\n        logLevel: 'debug'                // Включает детальный вывод в консоль\n      }\n    }\n  }\n};\n","javascript",[25,179,180,185,190,196,202,208,214,220,226,232,238,244,250],{"__ignoreMap":95},[99,181,182],{"class":101,"line":102},[99,183,184],{},"// webpack.config.js или config файла devServer\n",[99,186,187],{"class":101,"line":134},[99,188,189],{},"module.exports = {\n",[99,191,193],{"class":101,"line":192},3,[99,194,195],{},"  devServer: {\n",[99,197,199],{"class":101,"line":198},4,[99,200,201],{},"    proxy: {\n",[99,203,205],{"class":101,"line":204},5,[99,206,207],{},"      '/api': {\n",[99,209,211],{"class":101,"line":210},6,[99,212,213],{},"        target: 'http://localhost:8080',\n",[99,215,217],{"class":101,"line":216},7,[99,218,219],{},"        changeOrigin: true,              // Подменяет Host в заголовке запроса\n",[99,221,223],{"class":101,"line":222},8,[99,224,225],{},"        secure: false,                   // Отключает проверку SSL для локальной разработки\n",[99,227,229],{"class":101,"line":228},9,[99,230,231],{},"        logLevel: 'debug'                // Включает детальный вывод в консоль\n",[99,233,235],{"class":101,"line":234},10,[99,236,237],{},"      }\n",[99,239,241],{"class":101,"line":240},11,[99,242,243],{},"    }\n",[99,245,247],{"class":101,"line":246},12,[99,248,249],{},"  }\n",[99,251,253],{"class":101,"line":252},13,[99,254,255],{},"};\n",[146,257,258],{},[21,259,260,261,264,265,268],{},"⚠️ Важно: Параметр ",[25,262,263],{},"changeOrigin: true"," обязателен, если целевой сервер проверяет заголовок ",[25,266,267],{},"Host",". Без него многие фреймворки сбрасывают соединение из соображений безопасности.",[270,271],"in-article-ad",{},[77,273,275],{"id":274},"способ-3-настройка-docker-сетей-и-алиасов","Способ 3: Настройка Docker-сетей и алиасов",[21,277,278,279,282],{},"Если вы разрабатываете в контейнерах, ",[25,280,281],{},"localhost"," внутри одного контейнера не указывает на хост-машину или другие контейнеры.",[42,284,285],{},[45,286,287,288,172],{},"Убедитесь, что оба сервиса находятся в одной сети в ",[25,289,290],{},"docker-compose.yml",[90,292,296],{"className":293,"code":294,"language":295,"meta":95,"style":95},"language-yaml shiki shiki-themes github-light github-dark","services:\n  frontend:\n    environment:\n      - PROXY_TARGET=http://backend:3000\n    networks:\n      - app_net\n  backend:\n    networks:\n      - app_net\nnetworks:\n  app_net:\n    driver: bridge\n","yaml",[25,297,298,307,314,321,329,336,343,350,356,362,369,376],{"__ignoreMap":95},[99,299,300,304],{"class":101,"line":102},[99,301,303],{"class":302},"s9eBZ","services",[99,305,306],{"class":124},":\n",[99,308,309,312],{"class":101,"line":134},[99,310,311],{"class":302},"  frontend",[99,313,306],{"class":124},[99,315,316,319],{"class":101,"line":192},[99,317,318],{"class":302},"    environment",[99,320,306],{"class":124},[99,322,323,326],{"class":101,"line":198},[99,324,325],{"class":124},"      - ",[99,327,328],{"class":113},"PROXY_TARGET=http://backend:3000\n",[99,330,331,334],{"class":101,"line":204},[99,332,333],{"class":302},"    networks",[99,335,306],{"class":124},[99,337,338,340],{"class":101,"line":210},[99,339,325],{"class":124},[99,341,342],{"class":113},"app_net\n",[99,344,345,348],{"class":101,"line":216},[99,346,347],{"class":302},"  backend",[99,349,306],{"class":124},[99,351,352,354],{"class":101,"line":222},[99,353,333],{"class":302},[99,355,306],{"class":124},[99,357,358,360],{"class":101,"line":228},[99,359,325],{"class":124},[99,361,342],{"class":113},[99,363,364,367],{"class":101,"line":234},[99,365,366],{"class":302},"networks",[99,368,306],{"class":124},[99,370,371,374],{"class":101,"line":240},[99,372,373],{"class":302},"  app_net",[99,375,306],{"class":124},[99,377,378,381,384],{"class":101,"line":246},[99,379,380],{"class":302},"    driver",[99,382,383],{"class":124},": ",[99,385,386],{"class":113},"bridge\n",[42,388,389,399],{"start":134},[45,390,391,392,394,395,398],{},"В конфигурации прокси замените ",[25,393,281],{}," на имя сервиса (",[25,396,397],{},"backend","). Docker DNS автоматически резолвит его во внутренний IP.",[45,400,401,402,54],{},"Пересоберите и запустите стеки командой ",[25,403,404],{},"docker compose up -d --build",[77,406,408],{"id":407},"способ-4-отключение-файрвола-или-добавление-правил","Способ 4: Отключение файрвола или добавление правил",[21,410,411],{},"В некоторых ОС входящие/исходящие соединения на нестандартных портах блокируются по умолчанию политиками безопасности.",[42,413,414,417,424],{},[45,415,416],{},"Откройте настройки брандмауэра вашей операционной системы.",[45,418,419,420,423],{},"Добавьте разрешающее правило для порта бэкенда (например, ",[25,421,422],{},"TCP 3000",").",[45,425,426,427,430],{},"Если используете ",[25,428,429],{},"ufw"," на Linux, выполните:",[90,432,434],{"className":92,"code":433,"language":94,"meta":95,"style":95},"sudo ufw allow 3000/tcp\nsudo ufw reload\n",[25,435,436,450],{"__ignoreMap":95},[99,437,438,441,444,447],{"class":101,"line":102},[99,439,440],{"class":105},"sudo",[99,442,443],{"class":113}," ufw",[99,445,446],{"class":113}," allow",[99,448,449],{"class":113}," 3000/tcp\n",[99,451,452,454,456],{"class":101,"line":134},[99,453,440],{"class":105},[99,455,443],{"class":113},[99,457,458],{"class":113}," reload\n",[42,460,461],{"start":198},[45,462,463,464,54],{},"Перезапустите прокси-сервер и проверьте соединение. Для Windows Defender Firewall используйте PowerShell: ",[25,465,466],{},"New-NetFirewallRule -DisplayName \"Allow Backend Proxy\" -Direction Inbound -LocalPort 3000 -Protocol TCP -Action Allow",[16,468,470],{"id":469},"профилактика","Профилактика",[21,472,473,474,477,478,481,482,485,486,489,490,493],{},"Чтобы избежать повторения сбоя в будущем, внедрите несколько простых практик в рабочий процесс. Всегда используйте переменные окружения (",[25,475,476],{},".env",") для хранения адресов прокси, а не хардкодьте URL в конфигурационных файлах. Это позволит быстро менять эндпоинты при развёртывании на разных серверах без риска опечаток. Настройте автоматический перезапуск прокси при изменении конфигов с помощью ",[25,479,480],{},"nodemon"," или встроенных ",[25,483,484],{},"watch"," режимов. Регулярно обновляйте пакеты ",[25,487,488],{},"http-proxy-middleware"," и аналоги, так как в новых версиях исправляются проблемы с обработкой ",[25,491,492],{},"Keep-Alive",", WebSocket-соединений и таймаутов.",[495,496,497],"style",{},"html pre.shiki code .sScJk, html code.shiki .sScJk{--shiki-default:#6F42C1;--shiki-dark:#B392F0}html pre.shiki code .sj4cs, html code.shiki .sj4cs{--shiki-default:#005CC5;--shiki-dark:#79B8FF}html pre.shiki code .sZZnC, html code.shiki .sZZnC{--shiki-default:#032F62;--shiki-dark:#9ECBFF}html pre.shiki code .szBVR, html code.shiki .szBVR{--shiki-default:#D73A49;--shiki-dark:#F97583}html pre.shiki code .sVt8B, html code.shiki .sVt8B{--shiki-default:#24292E;--shiki-dark:#E1E4E8}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html.dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html pre.shiki code .s9eBZ, html code.shiki .s9eBZ{--shiki-default:#22863A;--shiki-dark:#85E89D}",{"title":95,"searchDepth":134,"depth":134,"links":499},[500,501,502,508],{"id":18,"depth":134,"text":19},{"id":39,"depth":134,"text":40},{"id":74,"depth":134,"text":75,"children":503},[504,505,506,507],{"id":79,"depth":192,"text":80},{"id":160,"depth":192,"text":161},{"id":274,"depth":192,"text":275},{"id":407,"depth":192,"text":408},{"id":469,"depth":134,"text":470},null,"ECONNREFUSED","2026-04-02 20:56:21","Столкнулись с 'error occurred while trying to proxy request'? Разберём причины и проверенные способы решения за 10 минут. Настройте стабильный прокси.","easy",false,"10-15 мин","md",[518,521,524],{"question":519,"answer":520},"Почему появляется ошибка при проксировании локального сервера?","Чаще всего целевой сервер выключен, заблокирован брандмауэром или указан неверный порт. Прокси не может установить TCP-соединение и возвращает сбой.",{"question":522,"answer":523},"Влияет ли эта ошибка на работу сайта в продакшене?","Нет. Ошибка характерна для сред разработки или промежуточных шлюзов. В продакшене используются настроенные балансировщики с автоматическим мониторингом здоровья узлов.",{"question":525,"answer":526},"Что делать, если бэкенд работает, но прокси всё равно падает?","Проверьте настройки CORS, заголовки `Host` и `Origin`, а также убедитесь, что SSL/TLS не конфликтует с протоколом прокси (http vs https).",[528,531,534,537],{"name":529,"text":530},"Проверка доступности целевого сервера","Убедитесь, что бэкенд запущен и отвечает на указанном порту с помощью curl или браузера.",{"name":532,"text":533},"Корректировка конфигурации прокси","Проверьте параметры target, changeOrigin и secure в вашем конфиге (webpack, vite, nginx).",{"name":535,"text":536},"Настройка Docker-сетей и алиасов","Для контейнеров замените localhost на имя сервиса и убедитесь, что они находятся в одной bridge-сети.",{"name":538,"text":539},"Отключение файрвола или добавление правил","Разрешите входящие/исходящие соединения на нужный порт в настройках ОС или брандмауэра.","PT15M",[542,543,544,545,546,547,548,549],"error occurred while trying to proxy request","ошибка прокси запроса","HPM error proxy request","502 Bad Gateway proxy","настройка devServer proxy","обратный прокси ошибка подключения","исправить ошибку прокси сервера","ECONNREFUSED proxy error","ru_RU",{},true,"/errors/general/error-occurred-while-trying-to-proxy-request","general",[556,557,558],"/errors/general/connection-refused-econnrefused","/guides/general/nginx-reverse-proxy-configuration","/guides/general/webpack-vite-proxy-setup","Ошибки разработки и серверов",{"title":5,"description":512},"medium","errors/general/error-occurred-while-trying-to-proxy-request","Эта ошибка блокирует работу локальных серверов и обратных прокси. Вы получите чёткие инструкции по диагностике и устранению сбоя за несколько шагов.",[565,67,566,567,568,569],"proxy","devserver","troubleshooting","веб-разработка","сетевые ошибки","error","m20uQuebyahc1EYz71JAlgUF0iygujggWGLhJWyKqU0",{"data":573,"body":574},{},{"type":575,"children":576},"root",[577],{"type":578,"tag":21,"props":579,"children":580},"element",{},[581],{"type":582,"value":520},"text",{"data":584,"body":585},{},{"type":575,"children":586},[587],{"type":578,"tag":21,"props":588,"children":589},{},[590],{"type":582,"value":523},{"data":592,"body":593},{},{"type":575,"children":594},[595],{"type":578,"tag":21,"props":596,"children":597},{},[598,600,605,607,613],{"type":582,"value":599},"Проверьте настройки CORS, заголовки ",{"type":578,"tag":25,"props":601,"children":603},{"className":602},[],[604],{"type":582,"value":267},{"type":582,"value":606}," и ",{"type":578,"tag":25,"props":608,"children":610},{"className":609},[],[611],{"type":582,"value":612},"Origin",{"type":582,"value":614},", а также убедитесь, что SSL/TLS не конфликтует с протоколом прокси (http vs https).",{"data":616,"body":617},{},{"type":575,"children":618},[619],{"type":578,"tag":21,"props":620,"children":621},{},[622],{"type":582,"value":530},{"data":624,"body":625},{},{"type":575,"children":626},[627],{"type":578,"tag":21,"props":628,"children":629},{},[630],{"type":582,"value":533},{"data":632,"body":633},{},{"type":575,"children":634},[635],{"type":578,"tag":21,"props":636,"children":637},{},[638],{"type":582,"value":536},{"data":640,"body":641},{},{"type":575,"children":642},[643],{"type":578,"tag":21,"props":644,"children":645},{},[646],{"type":582,"value":539},[648],{"id":649,"title":650,"appliesTo":651,"author":11,"body":655,"canonical":509,"code":509,"createdAt":1264,"description":1265,"difficulty":561,"draft":514,"estimatedTime":515,"extension":516,"faq":1266,"howToSteps":1279,"howToTotalTime":540,"image":509,"keywords":1295,"locale":550,"meta":1303,"navigation":552,"path":557,"platform":554,"related":1304,"section":1307,"seo":1308,"severity":509,"stem":1309,"summary":1310,"tags":1311,"twitterCreator":509,"twitterSite":509,"type":1317,"updatedAt":1264,"__hash__":1318},"content_ru/guides/general/nginx-reverse-proxy-configuration.md","Настройка Nginx в качестве обратного прокси: пошаговое руководство",[652,653,654],"Nginx 1.24+","Ubuntu 22.04 LTS","Debian 12",{"type":13,"value":656,"toc":1251},[657,661,664,677,681,723,727,731,776,781,785,796,808,819,895,909,923,927,930,942,945,960,964,967,982,989,993,999,1061,1070,1085,1094,1096,1100,1140,1144,1236,1248],[16,658,660],{"id":659},"введение","Введение",[21,662,663],{},"Обратный прокси-сервер позволяет скрыть backend-сервера от внешнего мира, балансировать нагрузку и добавлять дополнительные функции, такие как шифрование SSL. Nginx — популярный выбор благодаря скорости и простоте конфигурации. После выполнения этого руководства вы сможете настроить Nginx для перенаправления внешних запросов к локальным или удалённым серверам, обеспечивая чистый и защищённый фронтенд.",[146,665,666],{},[21,667,668,669,672,673,676],{},"💡 ",[169,670,671],{},"Совет:"," Храните конфигурационные файлы в ",[25,674,675],{},"/etc/nginx/",", используйте контроль версий для служебных файлов и всегда тестируйте изменения перед перезапуском.",[16,678,680],{"id":679},"требования","Требования",[682,683,684,694,700,714],"ul",{},[45,685,686,687,690,691,423],{},"Установленный Nginx версии ",[169,688,689],{},"1.24"," или выше (",[25,692,693],{},"nginx -v",[45,695,696,697,699],{},"Доступ к системе с правами ",[169,698,575],{}," (или пользователя с sudo).",[45,701,702,703,706,707,710,711,54],{},"Backend-сервер, работающий на ",[25,704,705],{},"HTTP"," (",[25,708,709],{},"http://backend_ip:backend_port",") или ",[25,712,713],{},"HTTPS",[45,715,716,717,719,720,722],{},"Операционная система: ",[169,718,653],{},", ",[169,721,654],{}," или любая Linux-дистрибутивная система.",[16,724,726],{"id":725},"пошаговая-инструкция","Пошаговая инструкция",[77,728,730],{"id":729},"шаг-1-установка-и-проверка-nginx","Шаг 1: Установка и проверка Nginx",[90,732,734],{"className":92,"code":733,"language":94,"meta":95,"style":95},"# Для Ubuntu/Debian\napt update\napt install -y nginx\n# Проверка версии\nnginx -v\n",[25,735,736,742,750,763,768],{"__ignoreMap":95},[99,737,738],{"class":101,"line":102},[99,739,741],{"class":740},"sJ8bj","# Для Ubuntu/Debian\n",[99,743,744,747],{"class":101,"line":134},[99,745,746],{"class":105},"apt",[99,748,749],{"class":113}," update\n",[99,751,752,754,757,760],{"class":101,"line":192},[99,753,746],{"class":105},[99,755,756],{"class":113}," install",[99,758,759],{"class":109}," -y",[99,761,762],{"class":113}," nginx\n",[99,764,765],{"class":101,"line":198},[99,766,767],{"class":740},"# Проверка версии\n",[99,769,770,773],{"class":101,"line":204},[99,771,772],{"class":105},"nginx",[99,774,775],{"class":109}," -v\n",[146,777,778],{},[21,779,780],{},"⚠️ Важно: Убедитесь, что порт 80 не занят другим веб-сервером (например, Apache).",[77,782,784],{"id":783},"шаг-2-создание-конфигурации-reverse-proxy","Шаг 2: Создание конфигурации reverse proxy",[21,786,787,788,791,792,795],{},"Откройте основной конфигурационный файл (",[25,789,790],{},"/etc/nginx/sites-available/default","). Для этого можно использовать ",[25,793,794],{},"nano"," или любой другой текстовый редактор:",[90,797,799],{"className":92,"code":798,"language":94,"meta":95,"style":95},"nano /etc/nginx/sites-available/default\n",[25,800,801],{"__ignoreMap":95},[99,802,803,805],{"class":101,"line":102},[99,804,794],{"class":105},[99,806,807],{"class":113}," /etc/nginx/sites-available/default\n",[21,809,810,811,814,815,818],{},"Добавьте следующий блок ",[169,812,813],{},"внутри"," файла (или замените существующий блок ",[25,816,817],{},"server","):",[90,820,823],{"className":821,"code":822,"language":772,"meta":95,"style":95},"language-nginx shiki shiki-themes github-light github-dark","server {\n    listen 80;\n    server_name proxy.example.com;  # Замените на ваш домен или IP\n\n    location / {\n        # Основная директива перенаправления\n        proxy_pass http://backend.example.com:8080;\n        # Передача заголовков клиета\n        proxy_set_header Host $host;\n        proxy_set_header X-Real-IP $remote_addr;\n        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;\n        proxy_set_header X-Forwarded-Proto $scheme;\n    }\n}\n",[25,824,825,830,835,840,845,850,855,860,865,870,875,880,885,889],{"__ignoreMap":95},[99,826,827],{"class":101,"line":102},[99,828,829],{},"server {\n",[99,831,832],{"class":101,"line":134},[99,833,834],{},"    listen 80;\n",[99,836,837],{"class":101,"line":192},[99,838,839],{},"    server_name proxy.example.com;  # Замените на ваш домен или IP\n",[99,841,842],{"class":101,"line":198},[99,843,844],{"emptyLinePlaceholder":552},"\n",[99,846,847],{"class":101,"line":204},[99,848,849],{},"    location / {\n",[99,851,852],{"class":101,"line":210},[99,853,854],{},"        # Основная директива перенаправления\n",[99,856,857],{"class":101,"line":216},[99,858,859],{},"        proxy_pass http://backend.example.com:8080;\n",[99,861,862],{"class":101,"line":222},[99,863,864],{},"        # Передача заголовков клиета\n",[99,866,867],{"class":101,"line":228},[99,868,869],{},"        proxy_set_header Host $host;\n",[99,871,872],{"class":101,"line":234},[99,873,874],{},"        proxy_set_header X-Real-IP $remote_addr;\n",[99,876,877],{"class":101,"line":240},[99,878,879],{},"        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;\n",[99,881,882],{"class":101,"line":246},[99,883,884],{},"        proxy_set_header X-Forwarded-Proto $scheme;\n",[99,886,887],{"class":101,"line":252},[99,888,243],{},[99,890,892],{"class":101,"line":891},14,[99,893,894],{},"}\n",[21,896,897,898,719,901,904,905,908],{},"Замените ",[25,899,900],{},"proxy.example.com",[25,902,903],{},"backend.example.com"," и порт ",[25,906,907],{},"8080"," на фактические значения вашего backend-сервера.",[21,910,911,912,915,916,919,920,423],{},"Сохраните файл (",[25,913,914],{},"Ctrl+O",", затем ",[25,917,918],{},"Enter","), выйдите (",[25,921,922],{},"Ctrl+X",[77,924,926],{"id":925},"шаг-3-тестирование-конфигурации","Шаг 3: Тестирование конфигурации",[21,928,929],{},"Перед перезапуском выполните проверку синтаксиса:",[90,931,933],{"className":92,"code":932,"language":94,"meta":95,"style":95},"nginx -t\n",[25,934,935],{"__ignoreMap":95},[99,936,937,939],{"class":101,"line":102},[99,938,772],{"class":105},[99,940,941],{"class":109}," -t\n",[21,943,944],{},"Если ошибок нет, перезапустите Nginx:",[90,946,948],{"className":92,"code":947,"language":94,"meta":95,"style":95},"systemctl restart nginx\n",[25,949,950],{"__ignoreMap":95},[99,951,952,955,958],{"class":101,"line":102},[99,953,954],{"class":105},"systemctl",[99,956,957],{"class":113}," restart",[99,959,762],{"class":113},[77,961,963],{"id":962},"шаг-4-проверка-работы-reverse-proxy","Шаг 4: Проверка работы reverse proxy",[21,965,966],{},"С удалённого компьютера (или другой терминал с доступом в интернет) выполните:",[90,968,970],{"className":92,"code":969,"language":94,"meta":95,"style":95},"curl -I http://proxy.example.com/\n",[25,971,972],{"__ignoreMap":95},[99,973,974,976,979],{"class":101,"line":102},[99,975,106],{"class":105},[99,977,978],{"class":109}," -I",[99,980,981],{"class":113}," http://proxy.example.com/\n",[21,983,984,985,988],{},"Вы должны увидеть ответ от backend-сервера (например, ",[25,986,987],{},"HTTP/1.1 200","). Если вы видите страницу, обслуживаемую Nginx, reverse proxy работает.",[77,990,992],{"id":991},"шаг-5-дополнительные-настройки-и-защита","Шаг 5: Дополнительные настройки и защита",[21,994,995,998],{},[169,996,997],{},"Шифрование SSL/TLS"," (если вы хотите HTTPS):",[90,1000,1002],{"className":821,"code":1001,"language":772,"meta":95,"style":95},"server {\n    listen 443 ssl;\n    server_name proxy.example.com;\n\n    ssl_certificate /path/to/fullchain.pem;\n    ssl_certificate_key /path/to/private.key;\n\n    location / {\n        proxy_pass https://backend.example.com:8443;\n        proxy_set_header Host $host;\n        proxy_set_header X-Real-IP $remote_addr;\n    }\n}\n",[25,1003,1004,1008,1013,1018,1022,1027,1032,1036,1040,1045,1049,1053,1057],{"__ignoreMap":95},[99,1005,1006],{"class":101,"line":102},[99,1007,829],{},[99,1009,1010],{"class":101,"line":134},[99,1011,1012],{},"    listen 443 ssl;\n",[99,1014,1015],{"class":101,"line":192},[99,1016,1017],{},"    server_name proxy.example.com;\n",[99,1019,1020],{"class":101,"line":198},[99,1021,844],{"emptyLinePlaceholder":552},[99,1023,1024],{"class":101,"line":204},[99,1025,1026],{},"    ssl_certificate /path/to/fullchain.pem;\n",[99,1028,1029],{"class":101,"line":210},[99,1030,1031],{},"    ssl_certificate_key /path/to/private.key;\n",[99,1033,1034],{"class":101,"line":216},[99,1035,844],{"emptyLinePlaceholder":552},[99,1037,1038],{"class":101,"line":222},[99,1039,849],{},[99,1041,1042],{"class":101,"line":228},[99,1043,1044],{},"        proxy_pass https://backend.example.com:8443;\n",[99,1046,1047],{"class":101,"line":234},[99,1048,869],{},[99,1050,1051],{"class":101,"line":240},[99,1052,874],{},[99,1054,1055],{"class":101,"line":246},[99,1056,243],{},[99,1058,1059],{"class":101,"line":252},[99,1060,894],{},[21,1062,1063,1066,1067,818],{},[169,1064,1065],{},"Ограничение по IP"," (добавьте перед ",[25,1068,1069],{},"location",[90,1071,1073],{"className":821,"code":1072,"language":772,"meta":95,"style":95},"    allow 192.168.1.100;   # Разрешённый IP\n    deny all;              # Запретить остальных\n",[25,1074,1075,1080],{"__ignoreMap":95},[99,1076,1077],{"class":101,"line":102},[99,1078,1079],{},"    allow 192.168.1.100;   # Разрешённый IP\n",[99,1081,1082],{"class":101,"line":134},[99,1083,1084],{},"    deny all;              # Запретить остальных\n",[146,1086,1087],{},[21,1088,1089,1090,1093],{},"⚠️ Важно: После изменения конфигурации всегда запускайте ",[25,1091,1092],{},"nginx -t"," перед перезапуском.",[270,1095],{},[16,1097,1099],{"id":1098},"проверка-результата","Проверка результата",[42,1101,1102,1115,1127],{},[45,1103,1104,1107,1108,719,1111,1114],{},[169,1105,1106],{},"Функциональность:"," Убедитесь, что все запросы (",[25,1109,1110],{},"GET",[25,1112,1113],{},"POST"," и т.д.) корректно перенаправляются.",[45,1116,1117,1120,1121,719,1123,1126],{},[169,1118,1119],{},"Заголовки:"," Проверьте, что заголовки (",[25,1122,267],{},[25,1124,1125],{},"X-Real-IP","), добавленные в конфигурации, присутствуют в запросах backend-сервера.",[45,1128,1129,1132,1133,606,1136,1139],{},[169,1130,1131],{},"Логи:"," Просмотрите ",[25,1134,1135],{},"nginx_access.log",[25,1137,1138],{},"error.log"," для выявления ошибок.",[16,1141,1143],{"id":1142},"возможные-проблемы","Возможные проблемы",[1145,1146,1147,1163],"table",{},[1148,1149,1150],"thead",{},[1151,1152,1153,1157,1160],"tr",{},[1154,1155,1156],"th",{},"Симптом",[1154,1158,1159],{},"Вероятная причина",[1154,1161,1162],{},"Решение",[1164,1165,1166,1184,1201,1222],"tbody",{},[1151,1167,1168,1174,1181],{},[1169,1170,1171],"td",{},[25,1172,1173],{},"502 Bad Gateway",[1169,1175,1176,1177,1180],{},"Неправильный ",[25,1178,1179],{},"proxy_pass"," (неверный хост/порт)",[1169,1182,1183],{},"Проверьте DNS, доступность backend-сервера и корректность порта",[1151,1185,1186,1191,1194],{},[1169,1187,1188],{},[25,1189,1190],{},"SSL handshake failed",[1169,1192,1193],{},"Сертификат не загружен или устарел",[1169,1195,1196,1197,1200],{},"Укажите правильный путь к ",[25,1198,1199],{},".pem"," файлам и убедитесь, что они не истекли",[1151,1202,1203,1209,1212],{},[1169,1204,1205,1208],{},[25,1206,1207],{},"404 Not Found"," в backend",[1169,1210,1211],{},"Неверный URI или отсутствует базовый путь",[1169,1213,1214,1215,1218,1219],{},"Добавьте ",[25,1216,1217],{},"proxy_pass http://backend.example.com:8080;"," с нужным путём или используйте ",[25,1220,1221],{},"rewrite",[1151,1223,1224,1227,1230],{},[1169,1225,1226],{},"Nginx не запускается после изменений",[1169,1228,1229],{},"Синтаксическая ошибка в конфигурации",[1169,1231,1232,1233,1235],{},"Запустите ",[25,1234,1092],{},", исправьте ошибки, затем перезапустите",[21,1237,1238,1239,1242,1243,706,1245,423],{},"Если проблема сохраняется, проверьте ",[25,1240,1241],{},"systemctl status nginx"," и содержимое ",[25,1244,1138],{},[25,1246,1247],{},"/var/log/nginx/error.log",[495,1249,1250],{},"html pre.shiki code .sJ8bj, html code.shiki .sJ8bj{--shiki-default:#6A737D;--shiki-dark:#6A737D}html pre.shiki code .sScJk, html code.shiki .sScJk{--shiki-default:#6F42C1;--shiki-dark:#B392F0}html pre.shiki code .sZZnC, html code.shiki .sZZnC{--shiki-default:#032F62;--shiki-dark:#9ECBFF}html pre.shiki code .sj4cs, html code.shiki .sj4cs{--shiki-default:#005CC5;--shiki-dark:#79B8FF}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html.dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}",{"title":95,"searchDepth":134,"depth":134,"links":1252},[1253,1254,1255,1262,1263],{"id":659,"depth":134,"text":660},{"id":679,"depth":134,"text":680},{"id":725,"depth":134,"text":726,"children":1256},[1257,1258,1259,1260,1261],{"id":729,"depth":192,"text":730},{"id":783,"depth":192,"text":784},{"id":925,"depth":192,"text":926},{"id":962,"depth":192,"text":963},{"id":991,"depth":192,"text":992},{"id":1098,"depth":134,"text":1099},{"id":1142,"depth":134,"text":1143},"2026-07-04 12:51:38","Узнайте, как настроить Nginx в качестве обратного прокси-сервера за 5 минут. Пошаговая инструкция с примерами конфигурации для Linux и Windows.",[1267,1270,1273,1276],{"question":1268,"answer":1269},"Как настроить Nginx в качестве обратного прокси для локального веб-сервера?","Добавьте блок `server { ... location / { proxy_pass http://localhost:8080; } }` в файл конфигурации Nginx и перезапустите сервис.",{"question":1271,"answer":1272},"Что делает директива `proxy_pass` в Nginx?","Она перенаправляет входящие запросы к указанному backend-серверу, имитируя исходный хост.",{"question":1274,"answer":1275},"Как проверить, что reverse proxy работает?","Выполните `curl http://proxy_ip/` из удалённой машины или используйте `wget` для проверки заголовков.",{"question":1277,"answer":1278},"Как добавить SSL/TLS к reverse proxy?","Сконфигурируйте сервер Nginx с `listen 443 ssl;`, укажите сертификаты и используйте `proxy_pass https://backend:`.",[1280,1283,1286,1289,1292],{"name":1281,"text":1282},"Установка и проверка Nginx","Установите Nginx с помощью `apt install -y nginx` (Ubuntu) или скачайте бинарный пакет с официального сайта. После установки проверьте версию: `nginx -v`.",{"name":1284,"text":1285},"Создание конфигурации reverse proxy","Откройте файл `/etc/nginx/sites-available/default` (или создайте новый). Добавьте блок `server`, который слушает порт 80, и внутри `location /` укажите `proxy_pass http://backend_ip:backend_port`; сохраните изменения.",{"name":1287,"text":1288},"Тестирование конфигурации","Запустите `nginx -t`, чтобы убедиться, что синтаксис корректен. Если ошибок нет, перезапустите Nginx: `systemctl restart nginx`.",{"name":1290,"text":1291},"Проверка работы reverse proxy","С другого компьютера выполните `curl http://proxy_ip/` — вы должны получить ответ от backend-сервера. Проверьте заголовки с помощью `curl -I`.",{"name":1293,"text":1294},"Дополнительные настройки и защита","Добавьте `proxy_set_header Host $host;`, `proxy_set_header X-Real-IP $remote_addr;` и, при необходимости, ограничьте доступ по IP с помощью `allow`/`deny`.",[1296,1297,1298,1299,1300,1301,1302],"настроить nginx как обратный прокси","nginx reverse proxy configuration","как настроить прокси сервер на nginx","nginx конфигурационный файл reverse proxy","nginx перенаправление запросов","nginx block proxy","nginx настройка для начинающих",{},[1305,1306],"/guides/general/nginx-configuration-basics","/guides/general/nginx-ssl-https-setup","Гайды по Nginx",{"title":650,"description":1265},"guides/general/nginx-reverse-proxy-configuration","В этой статье вы узнаете, как настроить Nginx в качестве обратного прокси-сервера для перенаправления запросов к backend-серверам, написать конфигурационный файл, проверить работоспособность и избежать распространённых ошибок.",[1312,1313,1314,1315,1316],"Nginx","прокси","Linux","конфигурация","reverse proxy","guide","60N5IDWIifDD_--bswNZDqVic9uGXRjNyUzB_6bLhDI"]