@hoindex

Как правильно разместить девелоперскую копию сайта на втором сервере?

Всем доброго дня!

Недавно столкнулся с неожиданной проблемой, которая почему-то ранее никак себя не проявляла.

К примеру на одном хостинге есть сайт www.site.ru (работает через SSL)
Я разворачиваю его полную копию на другом хостинге и том же домене, копирую SSL сертификат с боевого сервера.
У себя в hosts прописываю ip девелоперского сервера и всё ок, точнее раньше было всё ок.

Проблема 1.
Я дал доступ к девелоперскому серверу разработчику, который работает на Win10.
Он правит hosts, заходит на сайт, при первой загрузке у него открывается сайт с девелоперского сервера, а при обновлении страницы или переходу по внутренней ссылке, открывается сайт с боевого сервера.
При этом если закрыть браузер и попытаться зайти по адресу снова, сразу открывается уже боевой сервер.
Похоже что при первой загрузке считывается ip из hosts, а потом уже идет запрос к DNS, который говорит что IP текущего сервера не фигурирует в записях для домена и отправляет запрос на IP боевого сервера, который указана в DNS.
Из защитного ПО стоит только стандартный Defender, который пробовали отключать - не помогло.
У меня на Win7 и у другого разработчика на Win8 проблема не проявляется.

Проблема 2.
Сайт работает с Google maps.
Раньше опять таки на девелоперском сервере всё было ок, а теперь карты не грузятся.
API key выдан для домена, домен тот же, но карты не грузятся, в консоли браузера пучек ошибок "Failed to load resource: the server responded with a status of 403 ()".

Есть идея что нужно прописать IP девелоперского сервера в зонах основного провайдера, но это неточно.
Я в DNS записях мягко говоря не разбираюсь, поэтому не понимаю можно ли сделать это, если да, то какой тип записи выбрать и сделать это так чтобы на девелоперский сервер на пошли случайные пользователи, а только те, кто поменял прописал ip в hosts.
  • Вопрос задан
  • 154 просмотра
Пригласить эксперта
Ответы на вопрос 1
HeadOnFire
@HeadOnFire
PHP, Laravel & WordPress Evangelist
Ну, раз по-человечески сделать dev / staging / production не вариант, то в голову приходят такие варианты:

1. Если сайты на разных серверах - поставить перед ними load balancer. Весь трафик слать на продакшн, а девелоперов по IP - на копию. SSL-сертификат нужно будет перенести на балансировщик, разумеется.

2. Если сайты физически на одном сервере - настроить Nginx / Apache или что там у вас для разных IP смотреть в разный docment root. Всех слать в папку прода, а свои IP - в клон.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы