Comment gérer différents environnements avec un seul serveur?

Je suis un peu nouveau à ces choses alors pardonne mon ignorance.

Je travaille sur une application web et j’ai 4 environnements; développement, test, mise en scène et production. et je n’ai qu’un serveur.

J’aimerais savoir quelle est la meilleure façon de gérer ces 3 environnements sur 1 serveur, ce qui devrait être comme suit: – La production peut être accessible à tous – le test et la mise en scène ne devraient être accessibles qu’à certains utilisateurs.

Alors, comment allez-vous gérer ces environnements?

Je pensais à autoriser à partir d’une liste d’IPS dans mes hôtes virtuels, mais les utilisateurs pourraient ne pas avoir d’adresse IP statique. Toute suggestion?

Si vous disposez de quatre environnements différents, vous devrez configurer quatre instances différentes de votre application. En effet, vous n’aurez pas toujours le même code en cours de développement, de test, de transfert et de production.

Avec Apache, vous pouvez utiliser des hôtes virtuels basés sur des noms pour configurer des sous-domaines et les pointer vers chaque environnement différent. Si vous avez un panneau de contrôle sur le serveur, il doit gérer la création de sous-domaines pour vous. Si vous en avez besoin, essayez Vesta CP – c’est gratuit.

Vous pouvez utiliser le code et la configuration dans votre application ou les directives de sécurité sur le serveur pour contrôler l’access aux différents environnements. Une méthode courante consiste à utiliser des adresses IP de confiance, mais faites attention ici – vous pouvez rencontrer des problèmes de sécurité en faisant confiance à ce champ – assurez-vous de faire très attention à la valeur de X-Forwarded -Pour l’en-tête (utilisé par les mandataires). Ce même site Web avait une brèche d’access à son environnement de développement en faisant exactement cela (google: anatomie d’une attaque comment j’ai piraté stackoverflow, je ne peux plus poster de liens).

Si vous utilisez une infrastructure d’application telle que symfony2, vous constaterez que le contrôle des environnements et des pare-feu peut réellement prendre toute son ampleur dans ces scénarios.

Voici la documentation pour la maîsortingse et la création d’environnements: http://symfony.com/doc/current/cookbook/configuration/environments.html

Et voici le lien vers leurs recettes de sécurité: http://symfony.com/doc/current/cookbook/security/index.html

En utilisant la documentation, vous devriez pouvoir créer des configurations de sécurité spécifiques à l’environnement.