Я немного новичок в этом, так что извините за мое невежество.
Я работаю над веб-приложением, и у меня есть 4 среды; разработка, тестирование, постановка и производство. и у меня есть только 1 сервер.
Я хотел бы знать, каков наилучший способ управления этими 3 средами на 1 сервере, который, я думаю, должен быть следующим:
— Продукция может быть доступна каждому
— тестирование и постановка должны быть доступны только определенным пользователям.
Так как вы, ребята, управляете этими средами?
Я думал о разрешении из списка ips на моих виртуальных хостах, но у пользователей может не быть статического IP-адреса.
Любое предложение?
Если у вас есть четыре разных среды, вам нужно будет настроить четыре разных экземпляра вашего приложения — так как вы не всегда будете иметь один и тот же код, работающий в процессе разработки, тестирования, подготовки и производства.
С помощью Apache вы можете использовать виртуальные хосты, основанные на именах, для настройки поддоменов и указания их на каждую среду. Если у вас есть панель управления на сервере, она должна обрабатывать создание поддоменов для вас. Если вам нужен попробуйте Vesta CP — это бесплатно.
Вы можете использовать код и конфигурацию в своем приложении или директивы безопасности на сервере для управления доступом к различным средам. Один из распространенных способов сделать это — использовать доверенные IP-адреса, но будьте осторожны — вы можете столкнуться с проблемами безопасности, доверяя этому полю — убедитесь, что вы очень осторожно доверяете (или просто не доверяете) значению X-Forwarded. -Для заголовка (используется прокси). Этот веб-сайт нарушил доступ к среде разработки, сделав именно это (google: анатомия атаки, из-за которой я взломал stackoverflow, я не могу больше публиковать ссылки).
Если вы используете платформу приложений, такую как symfony2, вы обнаружите, что ее контроль над средами и межсетевыми экранами действительно может стать своим в этих сценариях.
Вот документация для освоения и создания сред: http://symfony.com/doc/current/cookbook/configuration/environments.html
А вот ссылка на их рецепты безопасности: http://symfony.com/doc/current/cookbook/security/index.html
Используя документацию, вы сможете создавать конфигурации безопасности для конкретной среды.
Других решений пока нет …