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
staging
qui 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']