Как настроить обратный прокси для WordPress
Опубликовано: 2023-01-16Как администратор WordPress вы можете оказаться в ситуации, когда вам необходимо настроить обратный прокси-сервер. К счастью, настроить обратный прокси-сервер относительно просто, и есть несколько различных программных пакетов, которые вы можете использовать. В этой статье представлен краткий обзор настройки обратного прокси-сервера для вашего сайта WordPress с использованием NGINX.
Что такое обратные прокси-серверы и зачем их использовать для WordPress
Обратный прокси-сервер извлекает ресурсы с одного или нескольких серверов от имени клиента. Затем эти ресурсы доставляются клиенту без возможности сказать, что они получены с прокси-сервера.
Обратные прокси полезны, потому что они могут скрыть существование и характеристики исходного сервера. Например, обратный прокси-сервер может обеспечить дополнительный уровень безопасности, производительности и надежности для веб-приложений, защищая их от вредоносных запросов или больших объемов трафика.
Если вам интересно узнать больше, в Интернете есть много ресурсов, которые помогут вам узнать больше об обратных прокси-серверах. Существует несколько распространенных причин, по которым может потребоваться настройка обратного прокси-сервера:
- Улучшена производительность сайта благодаря кэшированию контента.
Распространенным вариантом использования обратного прокси-сервера является кэширование часто запрашиваемого контента WordPress. Например, если веб-сайт обслуживает группа веб-серверов, обратный прокси-сервер может кэшировать статическое содержимое веб-сайта (например, HTML-страницы, изображения и файлы CSS) на одном сервере. Это может повысить производительность веб-сайта WordPress, поскольку контент не нужно извлекать с веб-серверов каждый раз, когда пользователь запрашивает страницу.
- Разгрузка ресурсоемких задач, таких как изменение размера изображения
Обратный прокси-сервер может разгрузить ресурсоемкие задачи, такие как изменение размера изображения, с сервера WordPress, перенаправляя запросы на эти задачи на сервер, который лучше оснащен для их обработки. Это может помочь повысить производительность сайта WordPress, освободив ресурсы на сервере WordPress для других задач.
- Улучшенная безопасность за счет фильтрации запросов и блокировки вредоносного трафика.
Обратный прокси-сервер может повысить безопасность WordPress, фильтруя запросы и блокируя вредоносный трафик. Фильтруя запросы, обратный прокси-сервер может блокировать доступ к определенным IP-адресам или регионам, которые, как известно, связаны с вредоносной активностью. Блокируя вредоносный трафик, обратный прокси-сервер может помочь смягчить последствия DDoS-атак и других атак, нацеленных на сайты WordPress.
- Предоставление доступа к WordPress из другого домена или поддомена
Как упоминалось выше, обратный прокси-сервер извлекает ресурсы с одного или нескольких серверов от имени клиента. Этими ресурсами могут быть файлы любого типа, но чаще всего это веб-страницы. Затем обратный прокси-сервер предоставляет клиенту эти ресурсы, и они выглядят так, как будто они исходят от самого сервера. Это делается путем настройки обратного прокси-сервера для пересылки запросов на контент WordPress на сервер WordPress, при этом у клиента создается иллюзия, что он получает доступ к контенту непосредственно с локального прокси-сервера.
Самые популярные обратные прокси-серверы
По данным W3Techs, около 83% веб-сайтов не используют обратный прокси-сервер. Остальные 17% — это в основном CDN, поскольку обратные прокси-серверы обычно скрывают свое присутствие в целях безопасности, что затрудняет определение наиболее широко используемых сервисов мониторинга веб-сайтов, таких как W3Techs. Вот три наиболее часто используемых решения для обратного прокси:
- Nginx
NGINX — это веб-сервер, который предлагает множество преимуществ, таких как повышенная производительность, безопасность, надежность и масштабируемость. Вы можете получить его бесплатно или использовать коммерческую версию NGINX Plus для корпоративных веб-сайтов с возможностями настройки на основе API. Довольно много крупных компаний используют NGINX — Cloudflare, Netflix, MaxCDN и другие. Настроить NGINX в качестве обратного прокси-сервера несложно, и вы можете персонализировать его в соответствии со своими потребностями.
- Лак
Varnish — это тип программного обеспечения с открытым исходным кодом, которое может повысить производительность веб-сайтов с высокой посещаемостью. Он работает как обратный прокси-сервер, балансировщик нагрузки, брандмауэр веб-приложений и пограничный сервер аутентификации, а также поддерживает Edge SideIncludes (ESI) для более быстрой загрузки страниц. Вы можете использовать его в качестве внешнего интерфейса для веб-серверов NGINX или Apache или настроить его как обратный прокси-сервер для WordPress.
- Сервер трафика Apache
Apache Traffic Server, вариант с открытым исходным кодом, известный своей производительностью и емкостью, был впервые разработан Yahoo! как коммерческую услугу, прежде чем они передали ее Apache Foundation. В настоящее время он используется многими сетями контента и CDN, включая Akami, Apple, Comcast, LinkedIn и Yahoo, для улучшения своих систем. Кроме того, HTTP-сервер Apache (Apache httpd) можно использовать для настройки обратного прокси-сервера на вашем веб-сервере, который позволяет ему предоставлять пользователям как статический, так и динамический контент, продолжая работать в качестве обычного веб-сервера.
- HAProxy
HAProxy — это бесплатный обратный прокси-сервер и балансировщик нагрузки с открытым исходным кодом, предназначенный для работы со многими существующими архитектурами веб-серверов, такими как системы Linux и облачные платформы. Он использует модель ввода-вывода, управляемую событиями, и может распределять запросы между несколькими рабочими процессами, подобно NGINX. HAProxy известен своей способностью обрабатывать большие объемы трафика даже во время пиковых нагрузок. Он используется некоторыми из крупнейших сайтов в мире, такими как Airbnb, Reddit и Instagram.
Варианты использования обратного прокси-сервера для сайтов WordPress
Хотя вы также можете использовать другие обратные прокси, NGINX является наиболее популярным выбором. Вот три основных варианта использования обратного прокси-сервера для сайтов WordPress:
- Основной и прокси-сайт на одном сервере
Если у вас есть и основной, и проксируемый сайты, размещенные на одном и том же веб-сервере, вы можете настроить обратный прокси-сервер, чтобы проксируемый сайт загружался с основного сайта. Вы можете сделать это, настроив все соответствующие правила обратного прокси-сервера на основном сайте и настроив проксируемый сайт для загрузки через прокси-сервер. Кроме того, при использовании SSL-сертификата в файле wp-config.php должны быть предусмотрены определенные правила для предотвращения петель перенаправления. Обратите внимание, что невозможно создать URL-адрес с тем же подкаталогом, который используется для загрузки сайта.
- Размещение только проксируемого сайта на вашем сервере
Для создания обратного прокси необходимо обратиться к администратору сервера основного сайта и настроить правила на двух серверах. Также следует добавить доменное имя, указывающее на обратный прокси-сервер. Обычно это делается через субдомен (например, blog.your_domain.com), который связан с прокси-сайтом (например, your_domain.com/blog). Обратите внимание, что для завершения процесса установки вам потребуется IP-адрес сервера.
- Основной сайт размещен на вашем сервере
Если вы можете получить доступ только к основному веб-сайту и его хост-серверу, вам следует настроить обратный прокси-сервер и настроить его параметры так, чтобы страница загружалась с внешнего хоста. В обязанности администратора вторичного сервера входит установка и настройка проксируемого сайта для доступа через обратный прокси.
Шаги по настройке обратного прокси для WordPress
Настройка обратного прокси для WordPress — отличный способ повысить производительность вашего сайта. Это также может помочь защитить ваш веб-сервер от вредоносных запросов и улучшить взаимодействие с пользователем. Ниже приведены шаги, которые необходимо предпринять для настройки обратного прокси-сервера для WordPress.
- Установить обратный прокси-сервер
Первым шагом является установка обратного прокси-сервера. Мы рекомендуем использовать веб-сервер NGINX, который является бесплатным и с открытым исходным кодом. Другие популярные веб-серверы, такие как Apache, также можно использовать, но мы предполагаем, что в этом руководстве вы используете NGINX. Допустим, вы хотите использовать обратный прокси-сервер NGINX (192.xx10) вместе с веб-сервером Apache (192.xx20), который уже запущен и работает.
Для установки NGINX на сервер Ubuntu достаточно выполнить одну команду:
sudo apt-получить обновление
sudo apt-get установить nginx
После установки NGINX используйте эту команду, чтобы отключить виртуальный хост:
sudo unlink /etc/nginx/sites-enabled/default
Теперь пришло время создать обратный прокси. Вы можете сделать это, создав файл с именем reverse-proxy.conf в каталоге etc/nginx/sites-available. Прежде всего, перейдите в каталог:
cd etc/nginx/сайты-доступны
Создайте файл через редактор vi:
vi обратный прокси.conf
Добавьте в файл следующие строки:
сервер {
слушать 80;
место нахождения / {
прокси_пароль http://192.xx20;
}
}
Как мы видим, прокси-пасс позволяет передавать запросы, поступающие через обратный прокси-сервер, на 192.xx20:80, удаленный сокет основного сервера. Другими словами, оба сервера совместно используют контент. Когда вы закончите, сохраните файл и выйдите из редактора. Для пересылки информации на другие серверы используйте модуль ngx_http_proxy_module в терминале. Наконец, вам нужно активировать директивы, связавшись с /sites-enabled/ с помощью этой команды:
sudo ln -s /etc/nginx/sites-available/reverse-proxy.conf /etc/nginx/sites-enabled/reverse-proxy.conf
Осталось только протестировать обратный прокси. Вам нужно запустить тест конфигурации и перезапустить NGINX, чтобы проверить его производительность. Используйте команду ниже, чтобы проверить, работает ли NGINX:
сервис nginx конфигтест
перезапуск службы nginx
Если тест не пройден, это означает, что Apache, вероятно, настроен неправильно.
Ограничения обратного прокси-сервера
Обратный прокси-сервер может представлять серьезную угрозу безопасности, поскольку он может отслеживать и изменять весь трафик, проходящий через него. Если HTTPS-трафик отправляется через обратный прокси-сервер, данные должны быть расшифрованы и повторно зашифрованы, для чего требуются закрытые ключи сертификата SSL/TLS. Если хакер получит доступ к этому обратному прокси-серверу, он сможет регистрировать пароли и вставлять вредоносный код на веб-сайты.
Обратный прокси-сервер может создать единую точку отказа, если ни вы, ни ваши пользователи не могут получить прямой доступ к основному серверу. Например, если один обратный прокси-сервер обслуживает несколько доменов, любой сбой сделает все эти сайты недоступными. Если используется сторонний обратный прокси-сервер, не забывайте, что вы делитесь с ним важной информацией о сайте.
Заключение
Настройка обратного прокси-сервера для WordPress может повысить безопасность и производительность веб-сайта. Действия по настройке обратного прокси-сервера для WordPress различаются в зависимости от сервера и конфигурации. Как правило, они включают в себя настройку прокси-сервера, настройку внутреннего веб-сервера и настройку сайта WordPress. Хотя установка обратного прокси-сервера может быть полезной, она имеет ограничения.