Serveurs🔗
Ce document contient des informations relatives aux serveurs sur lesquels nous déployons nos projets à Elao.
Environnements🔗
La plupart des projets exposent au moins 2 environnements :
- la 
stagingqui est un serveur de démonstration, utilisé pour les recettes clients. - la 
production, généralement composée de 1 à plusieurs serveurs. 
Certains projets exposent plusieurs stagings que l'on nomme STAGES. Pour
l'instant, celles-ci sont en réalité sur un même et unique serveur, avec des
dossiers de déploiements, hosts nginx, configs Supervisor et databases
distincts.
Les URLs de staging sont généralement formées ainsi:
- https://staging.project-name.com
 - https://staging-1.project-name.com
 - https://staging-2.project-name.com
 - ...
 
Config SSH🔗
Afin de se connecter facilement en SSH aux serveurs, il est recommandé d'ajouter
la config suivante à votre ~/.ssh/config
1 2 3  |  | 
Pour les projets les plus anciens, vous pourriez avoir besoin également de cette config:
1 2 3 4 5 6  |  | 
Cette configuration vous sera également utile afin de vous connecter aux bases de données via SSH, avec un logiciel tel que Sequel Pro ou PhpStorm.
Utilitaires🔗
La commande server_infos affiche certaines informations utiles concernant le
serveur sur lequel vous êtes connectés :
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17  |  | 
HTTP Routing🔗
Client real IP🔗
La résolution de l'IP client (real IP) est faite côté infra, concrètement $_SERVER['REMOTE_ADDR'] contiendra l'IP résolue.
Il n'est pas nécessaire de se reposer sur les headers X-Forwarded-For ou Forwarded, et la résolution côté application peut être désactivée.
Configuration Symfony :
1 2 3  |  | 
HTTP/HTTPS🔗
La configuration du schéma (HTTP ou HTTPS) est faite côté infra, concrètement $_SERVER['HTTPS'] contiendra la valeur https ou 1 si l'application est en HTTPS.
Il n'est pas nécessaire de se reposer sur les headers X-Forwarded-Proto ou Forwarded, et la résolution côté application peut être désactivée.
Configuration Symfony :
1 2 3  |  | 
⚠️ Le router de votre application doit être compatible avec $_SERVER['HTTPS']