{"id":14041,"date":"2020-02-08T17:36:48","date_gmt":"2020-02-08T16:36:48","guid":{"rendered":"https:\/\/www.datanovia.com\/en\/?post_type=dt_lessons&#038;p=14041"},"modified":"2020-02-15T19:59:48","modified_gmt":"2020-02-15T18:59:48","slug":"comment-heberger-plusieurs-sites-web-https-sur-un-seul-serveur","status":"publish","type":"dt_lessons","link":"https:\/\/www.datanovia.com\/en\/fr\/lessons\/comment-heberger-plusieurs-sites-web-https-sur-un-seul-serveur\/","title":{"rendered":"Comment H\u00e9berger Plusieurs Sites Web HTTPS sur Un Seul Serveur"},"content":{"rendered":"<div id=\"rdoc\">\n<div id=\"TOC\">\n<ul>\n<li><a href=\"#prerequis\">Pr\u00e9requis<\/a><\/li>\n<li><a href=\"#etape-1-creer-des-repertoires-de-sites-web\">\u00c9tape 1 : Cr\u00e9er des r\u00e9pertoires de sites web<\/a><\/li>\n<li><a href=\"#etape-2-telecharger-un-modele\">\u00c9tape 2 : T\u00e9l\u00e9charger un mod\u00e8le<\/a><\/li>\n<li><a href=\"#etape-3-inspecter-la-structure-du-projet-et-les-fichiers-de-configuration\">\u00c9tape 3 : Inspecter la structure du projet et les fichiers de configuration<\/a>\n<ul>\n<li><a href=\"#structure-du-projet\">Structure du projet<\/a><\/li>\n<li><a href=\"#inspectez-le-fichier-de-configuration-docker-compose.yml\">Inspectez le fichier de configuration docker-compose.yml<\/a><\/li>\n<li><a href=\"#mise-a-jour-de-nginx.tmpl-modele-de-fichier-de-configuration-nginx\">Mise \u00e0 jour de nginx.tmpl : mod\u00e8le de fichier de configuration Nginx<\/a><\/li>\n<\/ul>\n<\/li>\n<li><a href=\"#etape-4-execution-du-reverse-proxy-nginx\">\u00c9tape 4 : Ex\u00e9cution du reverse proxy nginx<\/a><\/li>\n<li><a href=\"#etape-5-etablir-un-lien-entre-un-site-web-et-le-proxy-nginx-en-cours\">\u00c9tape 5 : \u00c9tablir un lien entre un site web et le proxy nginx en cours<\/a><\/li>\n<li><a href=\"#questions-frequemment-posees\">Questions fr\u00e9quemment pos\u00e9es<\/a>\n<ul>\n<li><a href=\"#comment-rediriger-du-http-non-www-vers-le-https-www\">Comment rediriger du http non-www vers le https www ?<\/a><\/li>\n<\/ul>\n<\/li>\n<li><a href=\"#references\">R\u00e9f\u00e9rences<\/a><\/li>\n<\/ul>\n<\/div>\n<p>Cet article fournit un mod\u00e8le permettant de configurer facilement le d\u00e9ploiement de <strong>plusieurs sites web sur un seul serveur<\/strong> ou sur <em>une Droplet de digitalocean<\/em>. Le reverse-proxy, les fichiers de configuration nginx et le certificat SSL sont cr\u00e9\u00e9s automatiquement pour chaque site web fonctionnant dans un conteneur Docker.<\/p>\n<p><img decoding=\"async\" src=\"https:\/\/www.datanovia.com\/en\/wp-content\/uploads\/dn-tutorials\/digitalocean-config-and-multiple-websites\/images\/host-multiple-websites-on-one-server.jpeg\" alt=\"Plusieurs sites web, un seul serveur\" \/><\/p>\n<p>Sommaire:<\/p>\n<div id=\"TOC\">\n<ul>\n<li><a href=\"#prerequis\">Pr\u00e9requis<\/a><\/li>\n<li><a href=\"#etape-1-creer-des-repertoires-de-sites-web\">\u00c9tape 1 : Cr\u00e9er des r\u00e9pertoires de sites web<\/a><\/li>\n<li><a href=\"#etape-2-telecharger-un-modele\">\u00c9tape 2 : T\u00e9l\u00e9charger un mod\u00e8le<\/a><\/li>\n<li><a href=\"#etape-3-inspecter-la-structure-du-projet-et-les-fichiers-de-configuration\">\u00c9tape 3 : Inspecter la structure du projet et les fichiers de configuration<\/a>\n<ul>\n<li><a href=\"#structure-du-projet\">Structure du projet<\/a><\/li>\n<li><a href=\"#inspectez-le-fichier-de-configuration-docker-compose.yml\">Inspectez le fichier de configuration docker-compose.yml<\/a><\/li>\n<li><a href=\"#mise-a-jour-de-nginx.tmpl-modele-de-fichier-de-configuration-nginx\">Mise \u00e0 jour de nginx.tmpl : mod\u00e8le de fichier de configuration Nginx<\/a><\/li>\n<\/ul>\n<\/li>\n<li><a href=\"#etape-4-execution-du-reverse-proxy-nginx\">\u00c9tape 4 : Ex\u00e9cution du reverse proxy nginx<\/a><\/li>\n<li><a href=\"#etape-5-etablir-un-lien-entre-un-site-web-et-le-proxy-nginx-en-cours\">\u00c9tape 5 : \u00c9tablir un lien entre un site web et le proxy nginx en cours<\/a><\/li>\n<li><a href=\"#questions-frequemment-posees\">Questions fr\u00e9quemment pos\u00e9es<\/a>\n<ul>\n<li><a href=\"#comment-rediriger-du-http-non-www-vers-le-https-www\">Comment rediriger du http non-www vers le https www ?<\/a><\/li>\n<\/ul>\n<\/li>\n<li><a href=\"#references\">R\u00e9f\u00e9rences<\/a><\/li>\n<\/ul>\n<\/div>\n<div id=\"prerequis\" class=\"section level2\">\n<h2>Pr\u00e9requis<\/h2>\n<p>Outils n\u00e9cessaires et cr\u00e9ation de noms de domaine<\/p>\n<ul>\n<li>Git, docker et docker-compose sont install\u00e9s sur votre serveur<\/li>\n<li>Plusieurs sites web fonctionnent \u00e0 l\u2019int\u00e9rieur des conteneurs Docker sur un seul serveur. (Chacun peut \u00eatre soit un serveur de fichiers statiques, soit WordPress fonctionnant sur Apache, etc.<\/li>\n<li>Le nom de domaine de chaque site web est configur\u00e9 pour pointer vers l\u2019IP du serveur. Votre h\u00f4te doit \u00eatre accessible au public sur les deux ports <code>80<\/code> and <code>443<\/code>. <a href=\"https:\/\/www.datanovia.com\/en\/fr\/lessons\/configuration-initiale-dun-serveur-ubuntu-sur-digitalocean\/\">V\u00e9rifiez les r\u00e8gles de votre pare-feu pour vous assurer que ces ports sont ouverts<\/a>.<\/li>\n<li>[Cr\u00e9er un r\u00e9pertoire de sites web et d\u00e9finir les autorisations appropri\u00e9es] (<a class=\"uri\" href=\"https:\/\/www.datanovia.com\/en\/fr\/lessons\/comment-creer-un-repertoire-de-sites-web-avec-les-autorisations-appropriees\/\">https:\/\/www.datanovia.com\/en\/fr\/lessons\/comment-creer-un-repertoire-de-sites-web-avec-les-autorisations-appropriees\/<\/a>). Dans ce tutoriel, nous supposerons que le r\u00e9pertoire Web se trouve \u00e0 <code>\/srv\/www<\/code><\/li>\n<\/ul>\n<\/div>\n<div id=\"etape-1-creer-des-repertoires-de-sites-web\" class=\"section level2\">\n<h2>\u00c9tape 1 : Cr\u00e9er des r\u00e9pertoires de sites web<\/h2>\n<p>En savoir plus : <a href=\"https:\/\/www.datanovia.com\/en\/fr\/lessons\/comment-creer-un-repertoire-de-sites-web-avec-les-autorisations-appropriees\/\">Cr\u00e9er un r\u00e9pertoire de sites web et d\u00e9finir les autorisations appropri\u00e9es<\/a><\/p>\n<pre class=\"bash\"><code># 0. param\u00e8tres\r\nweb_dir=\/srv\/www\r\nmyusername=kassambara\r\n# 1. Cr\u00e9er le r\u00e9pertoire des sites web\r\nsudo mkdir -p $web_dir\r\n# 2. d\u00e9finir votre utilisateur comme propri\u00e9taire\r\nsudo chown -R $myusername $web_dir\r\n# 3. d\u00e9finir le serveur web comme propri\u00e9taire du groupe\r\nsudo chgrp -R www-data $web_dir\r\n# 4. Autorisations 755 pour tout\r\nsudo chmod -R 755 $web_dir\r\n# 5. Les nouveaux fichiers et dossiers h\u00e9ritent \r\n# propri\u00e9t\u00e9 du groupe \u00e0 partir du dossier parent\r\nchmod g+s $web_dir<\/code><\/pre>\n<\/div>\n<div id=\"etape-2-telecharger-un-modele\" class=\"section level2\">\n<h2>\u00c9tape 2 : T\u00e9l\u00e9charger un mod\u00e8le<\/h2>\n<p>T\u00e9l\u00e9chargez un mod\u00e8le dans les r\u00e9pertoires de votre site web www<\/p>\n<pre class=\"bash\"><code>web_dir=\/srv\/www\r\ngit clone https:\/\/github.com\/kassambara\/nginx-multiple-https-websites-on-one-server $web_dir<\/code><\/pre>\n<\/div>\n<div id=\"etape-3-inspecter-la-structure-du-projet-et-les-fichiers-de-configuration\" class=\"section level2\">\n<h2>\u00c9tape 3 : Inspecter la structure du projet et les fichiers de configuration<\/h2>\n<div id=\"structure-du-projet\" class=\"section level3\">\n<h3>Structure du projet<\/h3>\n<pre><code>www\r\n\u251c\u2500\u2500 README.Rmd\r\n\u251c\u2500\u2500 README.md\r\n\u251c\u2500\u2500 nginx-proxy\r\n\u2502   \u251c\u2500\u2500 certs\r\n\u2502   \u251c\u2500\u2500 conf.d\r\n\u2502   \u251c\u2500\u2500 docker-compose.yml\r\n\u2502   \u251c\u2500\u2500 html\r\n\u2502   \u251c\u2500\u2500 nginx.tmpl\r\n\u2502   \u2514\u2500\u2500 vhost.d\r\n\u251c\u2500\u2500 your-website-one.com\r\n\u2502   \u251c\u2500\u2500 docker-compose.yml\r\n\u2502   \u2514\u2500\u2500 index.html\r\n\u2514\u2500\u2500 your-website-two.com\r\n    \u251c\u2500\u2500 docker-compose.yml\r\n    \u2514\u2500\u2500 index.html<\/code><\/pre>\n<p>A l\u2019int\u00e9rieur <code>\/nginx-proxy<\/code>, there are four empty directories: <code>conf.d<\/code>, <code>vhost.d<\/code>, <code>html<\/code> and <code>certs<\/code>. Ils sont utilis\u00e9s pour stocker les fichiers de configuration nginx et Let\u2019s Encrypt.<\/p>\n<\/div>\n<div id=\"inspectez-le-fichier-de-configuration-docker-compose.yml\" class=\"section level3\">\n<h3>Inspectez le fichier de configuration docker-compose.yml<\/h3>\n<p>Dans <code>\/nginx-proxy\/<\/code>, il y a un fichier <a href=\"https:\/\/github.com\/kassambara\/nginx-multiple-https-websites-on-one-server\/blob\/master\/nginx-proxy\/docker-compose.yml\">docker-compose.yml<\/a> avec ce contenu:<\/p>\n<pre class=\"yaml\"><code>version: '3.6'\r\nservices:\r\n  nginx:\r\n    image: nginx\r\n    labels:\r\n      com.github.jrcs.letsencrypt_nginx_proxy_companion.nginx_proxy: \"true\"\r\n    container_name: nginx\r\n    restart: unless-stopped\r\n    ports:\r\n      - \"80:80\"\r\n      - \"443:443\"\r\n    volumes:\r\n      - .\/conf.d:\/etc\/nginx\/conf.d\r\n      - .\/vhost.d:\/etc\/nginx\/vhost.d\r\n      - .\/html:\/usr\/share\/nginx\/html\r\n      - .\/certs:\/etc\/nginx\/certs:ro\r\n\r\n  nginx-gen:\r\n    image: jwilder\/docker-gen\r\n    command: -notify-sighup nginx -watch -wait 5s:30s \/etc\/docker-gen\/templates\/nginx.tmpl \/etc\/nginx\/conf.d\/default.conf\r\n    container_name: nginx-gen\r\n    restart: unless-stopped\r\n    volumes:\r\n      - .\/conf.d:\/etc\/nginx\/conf.d\r\n      - .\/vhost.d:\/etc\/nginx\/vhost.d\r\n      - .\/html:\/usr\/share\/nginx\/html\r\n      - .\/certs:\/etc\/nginx\/certs:ro\r\n      - \/var\/run\/docker.sock:\/tmp\/docker.sock:ro\r\n      - .\/nginx.tmpl:\/etc\/docker-gen\/templates\/nginx.tmpl:ro\r\n\r\n  nginx-letsencrypt:\r\n    image: jrcs\/letsencrypt-nginx-proxy-companion\r\n    container_name: nginx-letsencrypt\r\n    restart: unless-stopped\r\n    volumes:\r\n      - .\/conf.d:\/etc\/nginx\/conf.d\r\n      - .\/vhost.d:\/etc\/nginx\/vhost.d\r\n      - .\/html:\/usr\/share\/nginx\/html\r\n      - .\/certs:\/etc\/nginx\/certs:rw\r\n      - \/var\/run\/docker.sock:\/var\/run\/docker.sock:ro\r\n    environment:\r\n      NGINX_DOCKER_GEN_CONTAINER: \"nginx-gen\"\r\n      NGINX_PROXY_CONTAINER: \"nginx\"\r\nnetworks:\r\n  default:\r\n    external:\r\n      name: nginx-proxy<\/code><\/pre>\n<p>Trois services seront ainsi lanc\u00e9s:<\/p>\n<ul>\n<li><code>nginx<\/code>: le proxy nginx-reverse, utilise l\u2019image nginx par d\u00e9faut. Le label est n\u00e9cessaire pour que le conteneur letencrypt sache quel conteneur proxy nginx utiliser.<\/li>\n<li><code>nginx-gen<\/code>: utilise l\u2019image jwilder\/docker-gen. Son instruction de commande rendra une configuration nginx (bas\u00e9e sur nginx.tmpl) pour chaque site web \/ conteneur ajout\u00e9 au r\u00e9seau.<\/li>\n<li><code>nginx-letsencrypt<\/code>: g\u00e9n\u00e8re et renouvelle les certificats HTTPS.<\/li>\n<\/ul>\n<p>Tous ces services sont li\u00e9s au r\u00e9seau <code>nginx-proxy<\/code>.<\/p>\n<\/div>\n<div id=\"mise-a-jour-de-nginx.tmpl-modele-de-fichier-de-configuration-nginx\" class=\"section level3\">\n<h3>Mise \u00e0 jour de nginx.tmpl : mod\u00e8le de fichier de configuration Nginx<\/h3>\n<p>Dans <code>\/nginx-proxy\/<\/code>, il y a un fichier <a href=\"https:\/\/raw.githubusercontent.com\/jwilder\/nginx-proxy\/master\/nginx.tmpl\">nginx.tmpl<\/a>. C\u2019est celui utilis\u00e9 par le conteneur <code>nginx-gen<\/code> pour cr\u00e9er le fichier de configuration nginx pour chaque site web \/ conteneur ajout\u00e9 au r\u00e9seau.<\/p>\n<p>T\u00e9l\u00e9chargez la derni\u00e8re version mise \u00e0 jour sur [Github ici] (<a class=\"uri\" href=\"https:\/\/raw.githubusercontent.com\/jwilder\/nginx-proxy\/master\/nginx.tmpl\">https:\/\/raw.githubusercontent.com\/jwilder\/nginx-proxy\/master\/nginx.tmpl<\/a>):<\/p>\n<pre class=\"bash\"><code># Supprimer l'ancienne version\r\nrm -rf $web_dir\/nginx-proxy\/nginx.tmpl\r\n# T\u00e9l\u00e9charger la nouvelle version\r\ncurl -s https:\/\/raw.githubusercontent.com\/jwilder\/nginx-proxy\/master\/nginx.tmpl&gt; $web_dir\/nginx-proxy\/nginx.tmpl<\/code><\/pre>\n<\/div>\n<\/div>\n<div id=\"etape-4-execution-du-reverse-proxy-nginx\" class=\"section level2\">\n<h2>\u00c9tape 4 : Ex\u00e9cution du reverse proxy nginx<\/h2>\n<pre class=\"bash\"><code># 1. Cr\u00e9er le network docker\r\ndocker network create nginx-proxy\r\n\r\n# 2. Cr\u00e9ez le reverse-proxy avec le \r\n# conteneurs nginx, nginx-gen et nginx-letsencrypt\r\ncd \/srv\/www\/nginx-proxy\/\r\ndocker-compose up -d<\/code><\/pre>\n<\/div>\n<div id=\"etape-5-etablir-un-lien-entre-un-site-web-et-le-proxy-nginx-en-cours\" class=\"section level2\">\n<h2>\u00c9tape 5 : \u00c9tablir un lien entre un site web et le proxy nginx en cours<\/h2>\n<p>Le fichier <code>docker-compose.yml<\/code> du site web que vous souhaitez lier doit comprendre les instructions suivantes fournies dans le mod\u00e8le disponible dans le dossier <code>votre-site-un.com<\/code> (<strong>pas<\/strong> celui de nginx-proxy ci-dessus). Le contenu du mod\u00e8le se pr\u00e9sente comme suit:<\/p>\n<pre class=\"yaml\"><code>version: '3.6'\r\n\r\nservices:\r\n  my-app:\r\n    image: nginx\r\n    restart: always\r\n    environment:\r\n      # VARIABLES D'ENVIRONNEMENT NGINX-PROXY : ME METTRE \u00c0 JOUR\r\n      - VIRTUAL_HOST=your-website-one.com \r\n      - VIRTUAL_PORT=80\r\n      - LETSENCRYPT_HOST=your-website-one.com \r\n      - LETSENCRYPT_EMAIL=your.email@domain.com\r\n      # VARIABLES D'ENVIRONNEMENT END NGINX-PROXY\r\n    expose:\r\n      - 80\r\n\r\nnetworks:\r\n  default:\r\n    external:\r\n      name: nginx-proxy<\/code><\/pre>\n<ol style=\"list-style-type: decimal;\">\n<li><strong>Variables d\u2019environnement<\/strong>:\n<ul>\n<li><code>VIRTUAL_HOST<\/code>: votre nom de domaine, utilis\u00e9 dans la configuration nginx.<\/li>\n<li><code>VIRTUAL_PORT<\/code>: (facultatif) le port que votre site web \u00e9coute (par d\u00e9faut 80).<\/li>\n<li><code>LETSENCRYPT_HOST<\/code>: votre nom de domaine, utilis\u00e9 dans la configuration Let\u2019s Encrypt.<\/li>\n<li><code>LETSENCRYPT_EMAIL<\/code>: votre adresse \u00e9lectronique, utilis\u00e9e dans la configuration Let\u2019s Encrypt.<\/li>\n<\/ul>\n<\/li>\n<li><strong>Ports<\/strong>:\n<ul>\n<li>le port expos\u00e9 (ici 80) doit \u00eatre le m\u00eame que le <code>PORT_VIRTUEL<\/code> ci-dessus.<\/li>\n<\/ul>\n<\/li>\n<li><strong>Network<\/strong>:\n<ul>\n<li>le conteneur de votre site web doit \u00eatre reli\u00e9 au r\u00e9seau externe de dockers nomm\u00e9 <code>nginx-proxy<\/code><\/li>\n<\/ul>\n<\/li>\n<\/ol>\n<p>Une fois la mise \u00e0 jour du fichier \u201cdocker-compose.yml\u201d effectu\u00e9e, vous pouvez <strong>d\u00e9marrer le site web avec<\/strong>:<\/p>\n<pre class=\"bash\"><code>cd \/srv\/www\/your-website-one.com\r\ndocker-compose up -d<\/code><\/pre>\n<div class=\"success\">\n<p>Le site web est automatiquement d\u00e9tect\u00e9 par le reverse proxy, dispose d\u2019un certificat HTTPS et est visible \u00e0 l\u2019adresse <a class=\"uri\" href=\"https:\/\/your-website-one.com\">https:\/\/your-website-one.com<\/a>.<\/p>\n<p>Vous pouvez r\u00e9p\u00e9ter cette derni\u00e8re \u00e9tape pour tout autre conteneur que vous souhaitez relier<\/p>\n<\/div>\n<\/div>\n<div id=\"questions-frequemment-posees\" class=\"section level2\">\n<h2>Questions fr\u00e9quemment pos\u00e9es<\/h2>\n<div id=\"comment-rediriger-du-http-non-www-vers-le-https-www\" class=\"section level3\">\n<h3>Comment rediriger du http non-www vers le https www ?<\/h3>\n<p>Si vous avez le contr\u00f4le de l\u2019enregistrement DNS, la meilleure pratique est de le prendre en charge avec un ALIAS ( ou CNAME). <a href=\"https:\/\/github.com\/jwilder\/nginx-proxy\/issues\/1204\">Voir la discussion<\/a>.<\/p>\n<p><strong>Solution 1. Utiliser un conteneur de redirection<\/strong>. Capture toutes les redirections http, utile pour les redirections http -&gt; https. Une vitesse folle et une petite taille ! Bas\u00e9 sur alpine et nginx. Source : <a href=\"https:\/\/github.com\/cusspvz\/redirect.docker\">cusspvz\/redirect.docker<\/a><\/p>\n<pre class=\"yaml\"><code>version: '3.6'\r\n\r\nservices:\r\n  www.example.com:\r\n    image: nginx\r\n    restart: always\r\n    volumes:\r\n      - \".\/:\/usr\/share\/nginx\/html\"\r\n    environment:\r\n      - VIRTUAL_HOST=www.example.com\r\n      - VIRTUAL_PORT=80\r\n      - LETSENCRYPT_HOST=www.example.com\r\n      - LETSENCRYPT_EMAIL=alboukadel.kassambara@gmail.com\r\n\r\n  # rediriger le site example.com vers www.example.com\r\n  example.com:\r\n    image: cusspvz\/redirect\r\n    restart: always\r\n    environment:\r\n      - VIRTUAL_HOST=example.com\r\n      - VIRTUAL_PORT=80\r\n      - HTTPS_METHOD=noredirect\r\n      - LETSENCRYPT_HOST=example.com\r\n      - REDIRECT=https:\/\/www.example.com\r\n      # Voir les param\u00e8tres de redirection disponibles : https:\/\/github.com\/cusspvz\/redirect.docker\r\n      - WORKER_CONNECTIONS=1024\r\n      \r\nnetworks:\r\n  default:\r\n    external:\r\n      name: nginx-proxy<\/code><\/pre>\n<p><strong>Solution 2<\/strong>. voir cette demande de merge request : <a href=\"https:\/\/github.com\/jwilder\/nginx-proxy\/pull\/1369\">Ajout de l\u2019option VIRTUAL_HOST_ALIAS<\/a><\/p>\n<\/div>\n<\/div>\n<div id=\"references\" class=\"section level2\">\n<h2>R\u00e9f\u00e9rences<\/h2>\n<ul>\n<li><a href=\"https:\/\/medium.com\/@francoisromain\/host-multiple-websites-with-https-inside-docker-containers-on-a-single-server-18467484ab95\">H\u00e9berger plusieurs sites web avec HTTPS sur un seul serveur<\/a><\/li>\n<li><a href=\"https:\/\/olex.biz\/2019\/09\/hosting-with-docker-nginx-reverse-proxy-letsencrypt\/\">H\u00e9bergement de plusieurs sites ou applications en utilisant Docker et NGINX reverse proxy avec Letsencrypt SSL<\/a><\/li>\n<li><a href=\"https:\/\/github.com\/jwilder\/nginx-proxy\">Proxy nginx automatis\u00e9 pour les conteneurs Docker utilisant docker-gen<\/a><\/li>\n<li><a href=\"https:\/\/github.com\/JrCs\/docker-letsencrypt-nginx-proxy-companion\">LetsEncrypt companion container for nginx-proxy<\/a><\/li>\n<\/ul>\n<\/div>\n<\/div>\n<p><!--end rdoc--><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Fournit un mod\u00e8le permettant de configurer facilement le d\u00e9ploiement de plusieurs sites web sur un seul serveur IP ou sur une seule Droplet de digitalocean. Le reverse-proxy, les fichiers de configuration nginx et le certificat SSL sont cr\u00e9\u00e9s automatiquement pour chaque site web fonctionnant dans un conteneur Docker<\/p>\n","protected":false},"author":1,"featured_media":14042,"parent":0,"menu_order":20,"comment_status":"open","ping_status":"closed","template":"","class_list":["post-14041","dt_lessons","type-dt_lessons","status-publish","has-post-thumbnail","hentry"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v25.2 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Comment H\u00e9berger Plusieurs Sites Web HTTPS sur Un Seul Serveur - Datanovia<\/title>\n<meta name=\"description\" content=\"Fournit un mod\u00e8le permettant de configurer facilement le d\u00e9ploiement de plusieurs sites web sur un seul serveur IP ou sur une seule Droplet de digitalocean. Le reverse-proxy, les fichiers de configuration nginx et le certificat SSL sont cr\u00e9\u00e9s automatiquement pour chaque site web fonctionnant dans un conteneur Docker\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.datanovia.com\/en\/fr\/lessons\/comment-heberger-plusieurs-sites-web-https-sur-un-seul-serveur\/\" \/>\n<meta property=\"og:locale\" content=\"fr_FR\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Comment H\u00e9berger Plusieurs Sites Web HTTPS sur Un Seul Serveur - Datanovia\" \/>\n<meta property=\"og:description\" content=\"Fournit un mod\u00e8le permettant de configurer facilement le d\u00e9ploiement de plusieurs sites web sur un seul serveur IP ou sur une seule Droplet de digitalocean. Le reverse-proxy, les fichiers de configuration nginx et le certificat SSL sont cr\u00e9\u00e9s automatiquement pour chaque site web fonctionnant dans un conteneur Docker\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.datanovia.com\/en\/fr\/lessons\/comment-heberger-plusieurs-sites-web-https-sur-un-seul-serveur\/\" \/>\n<meta property=\"og:site_name\" content=\"Datanovia\" \/>\n<meta property=\"article:modified_time\" content=\"2020-02-15T18:59:48+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.datanovia.com\/en\/wp-content\/uploads\/2019\/05\/Sterne.royale.9.jpg\" \/>\n\t<meta property=\"og:image:width\" content=\"1024\" \/>\n\t<meta property=\"og:image:height\" content=\"512\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/jpeg\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Dur\u00e9e de lecture estim\u00e9e\" \/>\n\t<meta name=\"twitter:data1\" content=\"7 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.datanovia.com\/en\/fr\/lessons\/comment-heberger-plusieurs-sites-web-https-sur-un-seul-serveur\/\",\"url\":\"https:\/\/www.datanovia.com\/en\/fr\/lessons\/comment-heberger-plusieurs-sites-web-https-sur-un-seul-serveur\/\",\"name\":\"Comment H\u00e9berger Plusieurs Sites Web HTTPS sur Un Seul Serveur - Datanovia\",\"isPartOf\":{\"@id\":\"https:\/\/www.datanovia.com\/en\/fr\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/www.datanovia.com\/en\/fr\/lessons\/comment-heberger-plusieurs-sites-web-https-sur-un-seul-serveur\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/www.datanovia.com\/en\/fr\/lessons\/comment-heberger-plusieurs-sites-web-https-sur-un-seul-serveur\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/www.datanovia.com\/en\/wp-content\/uploads\/2019\/05\/Sterne.royale.9.jpg\",\"datePublished\":\"2020-02-08T16:36:48+00:00\",\"dateModified\":\"2020-02-15T18:59:48+00:00\",\"description\":\"Fournit un mod\u00e8le permettant de configurer facilement le d\u00e9ploiement de plusieurs sites web sur un seul serveur IP ou sur une seule Droplet de digitalocean. Le reverse-proxy, les fichiers de configuration nginx et le certificat SSL sont cr\u00e9\u00e9s automatiquement pour chaque site web fonctionnant dans un conteneur Docker\",\"breadcrumb\":{\"@id\":\"https:\/\/www.datanovia.com\/en\/fr\/lessons\/comment-heberger-plusieurs-sites-web-https-sur-un-seul-serveur\/#breadcrumb\"},\"inLanguage\":\"fr-FR\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.datanovia.com\/en\/fr\/lessons\/comment-heberger-plusieurs-sites-web-https-sur-un-seul-serveur\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"fr-FR\",\"@id\":\"https:\/\/www.datanovia.com\/en\/fr\/lessons\/comment-heberger-plusieurs-sites-web-https-sur-un-seul-serveur\/#primaryimage\",\"url\":\"https:\/\/www.datanovia.com\/en\/wp-content\/uploads\/2019\/05\/Sterne.royale.9.jpg\",\"contentUrl\":\"https:\/\/www.datanovia.com\/en\/wp-content\/uploads\/2019\/05\/Sterne.royale.9.jpg\",\"width\":1024,\"height\":512},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.datanovia.com\/en\/fr\/lessons\/comment-heberger-plusieurs-sites-web-https-sur-un-seul-serveur\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/www.datanovia.com\/en\/fr\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Le\u00e7ons\",\"item\":\"https:\/\/www.datanovia.com\/en\/fr\/lessons\/\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"Comment H\u00e9berger Plusieurs Sites Web HTTPS sur Un Seul Serveur\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/www.datanovia.com\/en\/fr\/#website\",\"url\":\"https:\/\/www.datanovia.com\/en\/fr\/\",\"name\":\"Datanovia\",\"description\":\"Exploration de Donn\u00e9es et Statistiques pour l'Aide \u00e0 la D\u00e9cision\",\"publisher\":{\"@id\":\"https:\/\/www.datanovia.com\/en\/fr\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/www.datanovia.com\/en\/fr\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"fr-FR\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/www.datanovia.com\/en\/fr\/#organization\",\"name\":\"Datanovia\",\"url\":\"https:\/\/www.datanovia.com\/en\/fr\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"fr-FR\",\"@id\":\"https:\/\/www.datanovia.com\/en\/fr\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/www.datanovia.com\/en\/wp-content\/uploads\/2018\/09\/datanovia-logo.png\",\"contentUrl\":\"https:\/\/www.datanovia.com\/en\/wp-content\/uploads\/2018\/09\/datanovia-logo.png\",\"width\":98,\"height\":99,\"caption\":\"Datanovia\"},\"image\":{\"@id\":\"https:\/\/www.datanovia.com\/en\/fr\/#\/schema\/logo\/image\/\"}}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Comment H\u00e9berger Plusieurs Sites Web HTTPS sur Un Seul Serveur - Datanovia","description":"Fournit un mod\u00e8le permettant de configurer facilement le d\u00e9ploiement de plusieurs sites web sur un seul serveur IP ou sur une seule Droplet de digitalocean. Le reverse-proxy, les fichiers de configuration nginx et le certificat SSL sont cr\u00e9\u00e9s automatiquement pour chaque site web fonctionnant dans un conteneur Docker","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.datanovia.com\/en\/fr\/lessons\/comment-heberger-plusieurs-sites-web-https-sur-un-seul-serveur\/","og_locale":"fr_FR","og_type":"article","og_title":"Comment H\u00e9berger Plusieurs Sites Web HTTPS sur Un Seul Serveur - Datanovia","og_description":"Fournit un mod\u00e8le permettant de configurer facilement le d\u00e9ploiement de plusieurs sites web sur un seul serveur IP ou sur une seule Droplet de digitalocean. Le reverse-proxy, les fichiers de configuration nginx et le certificat SSL sont cr\u00e9\u00e9s automatiquement pour chaque site web fonctionnant dans un conteneur Docker","og_url":"https:\/\/www.datanovia.com\/en\/fr\/lessons\/comment-heberger-plusieurs-sites-web-https-sur-un-seul-serveur\/","og_site_name":"Datanovia","article_modified_time":"2020-02-15T18:59:48+00:00","og_image":[{"width":1024,"height":512,"url":"https:\/\/www.datanovia.com\/en\/wp-content\/uploads\/2019\/05\/Sterne.royale.9.jpg","type":"image\/jpeg"}],"twitter_card":"summary_large_image","twitter_misc":{"Dur\u00e9e de lecture estim\u00e9e":"7 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/www.datanovia.com\/en\/fr\/lessons\/comment-heberger-plusieurs-sites-web-https-sur-un-seul-serveur\/","url":"https:\/\/www.datanovia.com\/en\/fr\/lessons\/comment-heberger-plusieurs-sites-web-https-sur-un-seul-serveur\/","name":"Comment H\u00e9berger Plusieurs Sites Web HTTPS sur Un Seul Serveur - Datanovia","isPartOf":{"@id":"https:\/\/www.datanovia.com\/en\/fr\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.datanovia.com\/en\/fr\/lessons\/comment-heberger-plusieurs-sites-web-https-sur-un-seul-serveur\/#primaryimage"},"image":{"@id":"https:\/\/www.datanovia.com\/en\/fr\/lessons\/comment-heberger-plusieurs-sites-web-https-sur-un-seul-serveur\/#primaryimage"},"thumbnailUrl":"https:\/\/www.datanovia.com\/en\/wp-content\/uploads\/2019\/05\/Sterne.royale.9.jpg","datePublished":"2020-02-08T16:36:48+00:00","dateModified":"2020-02-15T18:59:48+00:00","description":"Fournit un mod\u00e8le permettant de configurer facilement le d\u00e9ploiement de plusieurs sites web sur un seul serveur IP ou sur une seule Droplet de digitalocean. Le reverse-proxy, les fichiers de configuration nginx et le certificat SSL sont cr\u00e9\u00e9s automatiquement pour chaque site web fonctionnant dans un conteneur Docker","breadcrumb":{"@id":"https:\/\/www.datanovia.com\/en\/fr\/lessons\/comment-heberger-plusieurs-sites-web-https-sur-un-seul-serveur\/#breadcrumb"},"inLanguage":"fr-FR","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.datanovia.com\/en\/fr\/lessons\/comment-heberger-plusieurs-sites-web-https-sur-un-seul-serveur\/"]}]},{"@type":"ImageObject","inLanguage":"fr-FR","@id":"https:\/\/www.datanovia.com\/en\/fr\/lessons\/comment-heberger-plusieurs-sites-web-https-sur-un-seul-serveur\/#primaryimage","url":"https:\/\/www.datanovia.com\/en\/wp-content\/uploads\/2019\/05\/Sterne.royale.9.jpg","contentUrl":"https:\/\/www.datanovia.com\/en\/wp-content\/uploads\/2019\/05\/Sterne.royale.9.jpg","width":1024,"height":512},{"@type":"BreadcrumbList","@id":"https:\/\/www.datanovia.com\/en\/fr\/lessons\/comment-heberger-plusieurs-sites-web-https-sur-un-seul-serveur\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.datanovia.com\/en\/fr\/"},{"@type":"ListItem","position":2,"name":"Le\u00e7ons","item":"https:\/\/www.datanovia.com\/en\/fr\/lessons\/"},{"@type":"ListItem","position":3,"name":"Comment H\u00e9berger Plusieurs Sites Web HTTPS sur Un Seul Serveur"}]},{"@type":"WebSite","@id":"https:\/\/www.datanovia.com\/en\/fr\/#website","url":"https:\/\/www.datanovia.com\/en\/fr\/","name":"Datanovia","description":"Exploration de Donn\u00e9es et Statistiques pour l'Aide \u00e0 la D\u00e9cision","publisher":{"@id":"https:\/\/www.datanovia.com\/en\/fr\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.datanovia.com\/en\/fr\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"fr-FR"},{"@type":"Organization","@id":"https:\/\/www.datanovia.com\/en\/fr\/#organization","name":"Datanovia","url":"https:\/\/www.datanovia.com\/en\/fr\/","logo":{"@type":"ImageObject","inLanguage":"fr-FR","@id":"https:\/\/www.datanovia.com\/en\/fr\/#\/schema\/logo\/image\/","url":"https:\/\/www.datanovia.com\/en\/wp-content\/uploads\/2018\/09\/datanovia-logo.png","contentUrl":"https:\/\/www.datanovia.com\/en\/wp-content\/uploads\/2018\/09\/datanovia-logo.png","width":98,"height":99,"caption":"Datanovia"},"image":{"@id":"https:\/\/www.datanovia.com\/en\/fr\/#\/schema\/logo\/image\/"}}]}},"multi-rating":{"mr_rating_results":[]},"_links":{"self":[{"href":"https:\/\/www.datanovia.com\/en\/fr\/wp-json\/wp\/v2\/dt_lessons\/14041","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.datanovia.com\/en\/fr\/wp-json\/wp\/v2\/dt_lessons"}],"about":[{"href":"https:\/\/www.datanovia.com\/en\/fr\/wp-json\/wp\/v2\/types\/dt_lessons"}],"author":[{"embeddable":true,"href":"https:\/\/www.datanovia.com\/en\/fr\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.datanovia.com\/en\/fr\/wp-json\/wp\/v2\/comments?post=14041"}],"version-history":[{"count":0,"href":"https:\/\/www.datanovia.com\/en\/fr\/wp-json\/wp\/v2\/dt_lessons\/14041\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.datanovia.com\/en\/fr\/wp-json\/wp\/v2\/media\/14042"}],"wp:attachment":[{"href":"https:\/\/www.datanovia.com\/en\/fr\/wp-json\/wp\/v2\/media?parent=14041"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}