Мы пытаемся сделать наш сайт более ориентированным на контент, и хотя Shopify - отличная платформа для электронной коммерции, это не так уж и хорошо, когда дело доходит до контента. Поэтому мы переместили наш сайт исключительно с Shopify и разместили WordPress на сервере Nginx. На этом сервере мы сделали обратный прокси-сервер в / store на следующем сайте. эта почта.
После того, как я его настроил, все было хорошо, но поскольку в течение дня трафик увеличился, мы столкнулись с этим сообщением о запрете:
Я предполагаю, что Shopify не смотрит на перенаправленный IP-адрес клиента, и в результате сервер блокируется из-за всего трафика. В конечном счете, это может быть не тот обходной путь, который мы искали, и нам, возможно, придется вообще покинуть Shopify. В основном из-за этого наш магазин не работал весь день.
Может ли кто-нибудь подтвердить, что этот метод не работает? Или это просто ошибка конфигурации с моей стороны.
Вот мое местоположение из файла конфигурации nginx:
location ~^/store/(collections|cart|products|shopify|pages|blogs|checkout|admin)/?/
{
rewrite /store/(.*) /$1 break;
proxy_pass https://xxxx.myshopify.com;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_redirect off;
client_max_body_size 10m;
client_body_buffer_size 128k;
proxy_connect_timeout 90;
}
Буду очень признателен за любую помощь. Дайте мне знать, если я могу еще что-нибудь предложить, чтобы вам было легче ответить.
Спасибо!
Я снова получил ответ от Shopify. Они подтвердили, что это проблема с их стороны:
Аарон из Shopify, я только что ответил вам в Твиттере! Я только что получил ответ от наших расширенных групп поддержки по этому поводу. Это происходит из-за недавнего добавления кода в Shopify - есть несколько более строгие правила относительно того, что может делать один IP. Поскольку весь трафик, поступающий из магазина, отображается как один и тот же IP-адрес, программное обеспечение блокировки блотов подхватывает его и блокирует трафик на две минуты, но, поскольку он продолжается, это приводит к постоянному простою.
Наши технические специалисты предложили установить его как shop.domain.com, а не domain.com/shop, чтобы отсортировать его для вас - если у вас по-прежнему будут проблемы, дайте мне знать, и мы перейдем к следующим шагам. это для тебя!
Естественно, это не решение, поскольку SEO является частью нашей основной стратегии.
К сожалению, ответ здесь, вероятно, «удалить обратный прокси».
Если вам действительно нужен контент и покупки вместе, вам понадобится Shopify расширенный, чтобы показать контент, отключить запрет IP или принять перенаправленные заголовки.
Если вы можете терпеть разные домены, вы можете разместить Wordpress в основном домене, а Shopify в субдомене или наоборот. Не лучшее решение, но самое простое.
Если повезет, кто-то другой предложит лучшее решение.
Это старый пост, но я подумал, что поделюсь следующим для всех, кто найдет этот вопрос.
Другой вариант - использовать CloudFront. Запросы будут поступать с разных IP-адресов и потенциально могут уменьшить эту проблему.
Допустим, у вас есть yourstore.com и blog.yourstore.com. Вы можете настроить распределение CloudFront следующим образом:
Примечание:
Затем blog.yourstore.com может быть размещен на сервере EC2 с nginx. Я рекомендую 301 перенаправлять запросы, не относящиеся к CloudFront (например, поисковый робот Google или люди, заходящие на blog.yourstore.com вручную) на yourstore.com/blog. Вы можете сделать это с помощью перезаписи nginx (в дополнение к другим вашим правилам nginx, специфичным для размещения Wordpress), например:
server {
listen 80;
server_name blog.yourstore.com;
root /home/wordpress/www;
listen 443 ssl;
ssl_certificate /etc/ssl/yourstore.com.bundle.crt;
ssl_certificate_key /etc/ssl/yourstore.com.key;
return 301 https://yourstore.com/blog$request_uri;
}
Для перенаправления с www.yourstore.com на yourstore.com можно настроить второе распределение для www.yourstore.com, указать его на корзину S3 и настроить корзину S3 для перенаправления запросов на yourstore.com.
Обратите внимание, что эта настройка предполагает, что ваш магазин находится на yourstore.com, а не на yourstore.com/store. Если вы хотите использовать / store, вам нужно немного изменить настройки.