Maison Opération et maintenance Nginx Comment lier le nom de domaine secondaire du proxy inverse nginx

Comment lier le nom de domaine secondaire du proxy inverse nginx

May 20, 2023 am 10:55 AM
nginx

1. Scénarios d'application

Nous rencontrons souvent des situations dans lesquelles plusieurs sites Web sont établis sur le même serveur. Une pratique courante consiste à configurer différents ports pour différents sites, afin qu'ils soient accessibles sous la forme d'ip:port.

Mais après tout, utiliser l'IP pour accéder n'est pas pratique, pas évident et pas facile à retenir. Ensuite, nous pouvons associer différents noms de domaine à chaque site. (Ici, nous ne parlons que de la situation du réseau public) Même si nous n'avons qu'un seul nom de domaine, nous pouvons configurer plusieurs noms de domaine de deuxième niveau, ce qui est facile à réaliser avec nginx.

2. Exigences de base

Habituellement, les didacticiels en ligne publieront directement un morceau de code pour le fichier de configuration, nous indiquant que tout va bien. Mais j'ai découvert que de nombreux novices ne peuvent pas réussir comme les blogueurs après avoir regardé la configuration du didacticiel, parlons donc ensuite des principes de base.

 Tout d'abord, vous devez avoir un nom de domaine que vous pouvez gérer. Par exemple, j'ai un nom de domaine postmsg.cn, qui peut générer plusieurs noms de sous-domaines pour des milliers de générations...

 Deuxièmement, il y a doit être un serveur de réseau public accessible, vous pouvez créer votre propre site Web sur ce serveur, un, deux, trois ou quatre, avec différents ports correspondants.

 Ensuite, il y a la liaison du nom de domaine et du site, une carotte et un noyau, bien sûr, vous pouvez aussi avoir plusieurs carottes et un noyau...

 3. Configuration générale

 Il y a deux les endroits qui doivent être configurés. Parlons d'abord des premiers prérequis. Les conditions sont également quelque chose que certains novices ont tendance à négliger.

  (1) Configuration du nom de domaine

  Il est courant que chacun pense à pointer une résolution record du nom de domaine vers notre serveur de réseau public. Lors de l'analyse, vous pouvez uniquement ajouter une adresse IP, mais pas un numéro de port, c'est-à-dire que vous ne pouvez utiliser que le port par défaut 80. (Le transfert de nom de domaine n'est pas discuté)

  Si vous souhaitez implémenter la liaison de nom de sous-domaine, vous devez la configurer correctement lors de la résolution du nom de domaine. Sinon, s’appuyer uniquement sur nginx ne fonctionnera pas.

 Par exemple, si je souhaite lier le nom de sous-domaine p.postmsg.cn au port 8001 du serveur, je dois d'abord m'assurer que la demande d'accès à p.postmsg.cn peut atteindre le serveur, puis nginx peut la traiter .

 À ce stade, soit ajoutez un enregistrement d'hôte de p dans le nom de domaine une résolution d'enregistrement, soit configurez le caractère générique * dans l'enregistrement d'hôte (tous les accès à *.postmsg.cn sont résolus sur le serveur correspondant, à utiliser avec prudence) , définir uniquement @ et www n'est certainement pas possible.

Comment lier le nom de domaine secondaire du proxy inverse nginx

                                                               int dans la Figure 1 - Exemple de domaine résolution de nom(2) Configuration de l'hôte

Une fois que la demande de nom de domaine atteint l'hôte, tout peut être remis à nginx pour traitement.

  Lors de la modification de la configuration nginx, vous pouvez la modifier directement dans le fichier de configuration par défaut (tel que /etc/nginx/nginx.conf, comme indiqué dans l'extrait de code suivant), ou vous pouvez créer un nouveau fichier de configuration indépendant dans un certain répertoire, puis incluez les fichiers de configuration dans ce répertoire (comme indiqué à la ligne 17).

http {
  log_format main '$remote_addr - $remote_user [$time_local] "$request" '
           '$status $body_bytes_sent "$http_referer" '
           '"$http_user_agent" "$http_x_forwarded_for"';
  access_log /var/log/nginx/access.log main;
  sendfile      on;
  tcp_nopush     on;
  tcp_nodelay     on;
  keepalive_timeout  65;
  types_hash_max_size 2048;
  include       /etc/nginx/mime.types;
  default_type    application/octet-stream;
  include /etc/nginx/conf.d/*.conf;
}
Copier après la connexion

 C'est le format permettant à nginx de lire les fichiers de configuration. Notre configuration est généralement écrite dans le bloc http { }, plus le bloc serveur, et configurée dans le bloc serveur. Comme mentionné tout à l'heure, le bloc serveur peut être écrit dans un fichier séparé et inclus dans nginx.conf. En même temps, l'inclusion imbriquée est prise en charge.

  Ensuite, regardons comment est écrit le bloc serveur :

server {
  listen 80;
  server_name p.postmsg.cn;
  location / {
  proxy_pass http://127.0.0.1:8008;
    proxy_redirect off;
    proxy_set_header host $host;
    proxy_set_header x-real-ip $remote_addr;
    proxy_set_header x-forwarded-for $proxy_add_x_forwarded_for;
  }
  #access_log logs/p_access.log;
}
Copier après la connexion

  Le nom_serveur correspond ici au nom de domaine configuré, et proxy_pass correspond à l'adresse réelle du proxy.

  (3) Note 1

  Assurez-vous de laisser le port 80 à nginx, qui est responsable du proxy. Nous pouvons utiliser Apache httpd, nginx et tomcat en même temps sur un seul serveur, mais la résolution de noms de domaine ne peut utiliser que le port par défaut 80, et les camarades en charge de l'agence doivent recevoir des demandes de première main.

  (4) Note 2

  Il est effectif immédiatement. Certains amis ont l'impression d'avoir tout configuré correctement et d'avoir redémarré le service, mais ils ne peuvent tout simplement pas voir les résultats souhaités. Il y a trois facteurs possibles ici.

      
  1. Durée effective de résolution du nom de domaine

    . La durée minimale de validité du nom de domaine d'Alibaba Cloud est de 10 minutes, et elle peut parfois être plus longue que cette valeur.

  2.   
  3. Cache DNS local.

    Vous pouvez utiliser la commande ipconfig /flushdns dans cmd pour actualiser le cache DNS local.

  4.   
  5. Cache du navigateur.

    C'est peut-être le plus difficile à trouver, surtout dans Google Chrome. Après f12, cliquez avec le bouton droit sur le bouton d'actualisation à côté de la barre d'adresse dans le coin supérieur gauche, cliquez sur Vider le cache et recharger matériellement.

  6.   
  7. Le service n'a pas été redémarré.

    Le redémarrage du service nginx peut parfois ne pas être utile sans s'arrêter d'abord puis démarrer.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn

Outils d'IA chauds

Undresser.AI Undress

Undresser.AI Undress

Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover

AI Clothes Remover

Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool

Undress AI Tool

Images de déshabillage gratuites

Clothoff.io

Clothoff.io

Dissolvant de vêtements AI

Video Face Swap

Video Face Swap

Échangez les visages dans n'importe quelle vidéo sans effort grâce à notre outil d'échange de visage AI entièrement gratuit !

Outils chauds

Bloc-notes++7.3.1

Bloc-notes++7.3.1

Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise

SublimeText3 version chinoise

Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1

Envoyer Studio 13.0.1

Puissant environnement de développement intégré PHP

Dreamweaver CS6

Dreamweaver CS6

Outils de développement Web visuel

SublimeText3 version Mac

SublimeText3 version Mac

Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Comment configurer le nom de domaine du serveur cloud dans nginx Comment configurer le nom de domaine du serveur cloud dans nginx Apr 14, 2025 pm 12:18 PM

Comment configurer un nom de domaine NGINX sur un serveur cloud: Créez un enregistrement A pointant vers l'adresse IP publique du serveur cloud. Ajoutez des blocs d'hôtes virtuels dans le fichier de configuration Nginx, en spécifiant le port d'écoute, le nom de domaine et le répertoire racine du site Web. Redémarrez Nginx pour appliquer les modifications. Accéder à la configuration du test de nom de domaine. Autres notes: Installez le certificat SSL pour activer HTTPS, assurez-vous que le pare-feu autorise le trafic Port 80 et attendez que la résolution DNS prenne effet.

Comment vérifier le nom du conteneur Docker Comment vérifier le nom du conteneur Docker Apr 15, 2025 pm 12:21 PM

Vous pouvez interroger le nom du conteneur Docker en suivant les étapes: répertorier tous les conteneurs (Docker PS). Filtrez la liste des conteneurs (à l'aide de la commande grep). Obtient le nom du conteneur (situé dans la colonne "Noms").

Comment vérifier si Nginx est démarré Comment vérifier si Nginx est démarré Apr 14, 2025 pm 01:03 PM

Comment confirmer si Nginx est démarré: 1. Utilisez la ligne de commande: SystemCTl Status Nginx (Linux / Unix), netStat -ano | Findstr 80 (Windows); 2. Vérifiez si le port 80 est ouvert; 3. Vérifiez le message de démarrage NGINX dans le journal système; 4. Utilisez des outils tiers, tels que Nagios, Zabbix et Icinga.

Comment configurer Nginx dans Windows Comment configurer Nginx dans Windows Apr 14, 2025 pm 12:57 PM

Comment configurer Nginx dans Windows? Installez Nginx et créez une configuration d'hôte virtuelle. Modifiez le fichier de configuration principale et incluez la configuration de l'hôte virtuel. Démarrer ou recharger nginx. Testez la configuration et affichez le site Web. Activer sélectivement SSL et configurer les certificats SSL. Définissez sélectivement le pare-feu pour permettre le trafic Port 80 et 443.

Comment vérifier la version nginx Comment vérifier la version nginx Apr 14, 2025 am 11:57 AM

Les méthodes qui peuvent interroger la version Nginx sont: utilisez la commande nginx -v; Afficher la directive de version dans le fichier nginx.conf; Ouvrez la page d'erreur Nginx et affichez le titre de la page.

Comment démarrer un conteneur par Docker Comment démarrer un conteneur par Docker Apr 15, 2025 pm 12:27 PM

Étapes de démarrage du conteneur Docker: Tirez l'image du conteneur: Exécutez "Docker Pull [Mirror Name]". Créer un conteneur: utilisez "Docker Create [Options] [Mirror Name] [Commandes et paramètres]". Démarrez le conteneur: exécutez "docker start [nom de conteneur ou id]". Vérifiez l'état du conteneur: vérifiez que le conteneur s'exécute avec "Docker PS".

Comment démarrer le serveur Nginx Comment démarrer le serveur Nginx Apr 14, 2025 pm 12:27 PM

Le démarrage d'un serveur Nginx nécessite différentes étapes en fonction des différents systèmes d'exploitation: Système Linux / Unix: Installez le package NGINX (par exemple, en utilisant Apt-Get ou Yum). Utilisez SystemCTL pour démarrer un service NGINX (par exemple, sudo systemctl start nginx). Système Windows: téléchargez et installez les fichiers binaires Windows. Démarrer Nginx à l'aide de l'exécutable Nginx.exe (par exemple, nginx.exe -c conf \ nginx.conf). Peu importe le système d'exploitation que vous utilisez, vous pouvez accéder au serveur IP

Comment créer des conteneurs pour Docker Comment créer des conteneurs pour Docker Apr 15, 2025 pm 12:18 PM

Créer un conteneur dans Docker: 1. Tirez l'image: docker pull [Nom du miroir] 2. Créer un conteneur: docker run [Options] [Nom du miroir] [Commande] 3. Démarrez le conteneur: docker start [Nom du conteneur]

See all articles