Maison développement back-end Golang Explication détaillée des fonctions de liaison d'hôte virtuel et de nom de domaine du framework Gin

Explication détaillée des fonctions de liaison d'hôte virtuel et de nom de domaine du framework Gin

Jun 22, 2023 am 09:10 AM
虚拟主机 gin框架 域名绑定

Le framework Gin est un framework Web léger qui fournit les fonctionnalités de base nécessaires pour créer rapidement des applications Web. Le framework Gin est flexible, efficace et évolutif, il est donc largement utilisé dans le domaine Internet. Parmi elles, les fonctions d'hôte virtuel et de liaison de nom de domaine du framework Gin sont des fonctionnalités importantes que les autres frameworks Web ne possèdent pas. Cet article présentera cette fonction en détail.

1. Qu'est-ce qu'un hôte virtuel ?

L'hôte virtuel consiste à créer plusieurs hôtes virtuels indépendants et mutuellement isolés sur un hôte physique. Chaque hôte virtuel possède son propre nom de domaine indépendant, son adresse IP et son répertoire Web. Les hôtes virtuels peuvent configurer différentes résolutions DNS pour pointer vers différentes adresses IP, permettant ainsi à plusieurs sites Web de s'exécuter sur le même serveur, économisant ainsi les ressources et les coûts du serveur.

2. Qu'est-ce que la liaison d'un nom de domaine ?

La liaison de nom de domaine consiste à lier différents noms de domaine au même hôte physique pour réaliser la fonction de plusieurs sites Web exécutés sur le même serveur. Grâce à la résolution de noms de domaine, différents noms de domaine sont mappés à l'adresse IP du même serveur, et le côté serveur détermine le site Web demandé par l'utilisateur en fonction du nom de domaine.

3. Explication détaillée de la fonction de liaison d'hôte virtuel et de nom de domaine du framework Gin

La fonction de liaison d'hôte virtuel et de nom de domaine du framework Gin est implémentée via un middleware. Parmi eux, la mise en œuvre de l'hôte virtuel repose sur le middleware vhost intégré au framework Gin, et la mise en œuvre de la liaison de nom de domaine repose sur le proxy inverse nginx.

  1. Le framework Gin a un middleware vhost intégré

le middleware vhost permet au framework Gin d'implémenter la fonction d'un hôte virtuel. Les étapes de mise en œuvre spécifiques sont les suivantes :

(1) Dans le répertoire racine de l'application, créez un nouveau dossier de configuration, créez un fichier vhosts.json sous le dossier et enregistrez les informations de configuration du hôte virtuel, comme suit Montré :

[
    {
        "host": "www.example1.com",
        "dir": "wwwroot1",
        "log": "logs/www1.log"
    },
    {
        "host": "www.example2.com",
        "dir": "wwwroot2",
        "log": "logs/www2.log"
    }
]
Copier après la connexion

Parmi eux, chaque information de configuration contient trois champs : host représente le nom de domaine de l'hôte virtuel, dir représente le répertoire Web de l'hôte virtuel et log représente le nom du fichier journal de l’hôte virtuel.

(2) Dans la fonction principale de l'application, ajoutez le code suivant :

router := gin.Default()

vhosts, err := vhost.LoadConfig("./config/vhosts.json")
if err != nil {
    panic(err)
}

for _, vh := range vhosts {
    router.Group(vh.Host).Use(func(c *gin.Context) {
        c.Request.URL.Path = strings.TrimPrefix(c.Request.URL.Path, vh.Host)

        handler := http.FileServer(http.Dir(vh.Dir))
        handler.ServeHTTP(c.Writer, c.Request)
    })
}

router.Run()
Copier après la connexion

Le code ci-dessus implémente la lecture des informations de configuration de l'hôte virtuel à partir du fichier de configuration, et Ajoutez un middleware au routeur pour traiter chaque hôte virtuel. Parmi eux, la fonction Group est le groupe de routage du framework Gin, qui est utilisé pour gérer le même groupe de routes. Le paramètre transmis ici est le nom de domaine de l'hôte virtuel.

Ensuite, ajoutez un middleware au groupe de routage pour traiter la requête. Dans le middleware, utilisez la fonction strings.TrimPrefix pour supprimer le nom de domaine de l'hôte virtuel dans l'URL et transmettez le chemin restant à http.FileServer pour traitement.

Le code ci-dessus implémente le traitement des hôtes virtuels, et différents hôtes virtuels sont accessibles via différentes URL.

  1. nginx reverse proxy

Dans les applications pratiques, il est généralement nécessaire d'utiliser le proxy inverse nginx pour lier les noms de domaine et les adresses IP. Un proxy inverse peut mapper différents noms de domaine sur la même adresse IP et le même numéro de port, et effectuer le routage et le transfert côté serveur en fonction du nom de domaine, permettant ainsi à plusieurs sites Web de s'exécuter sur le même serveur.

Les étapes spécifiques de mise en œuvre sont les suivantes :

(1) Ajoutez les informations de configuration de l'hôte virtuel dans le fichier de configuration nginx, comme indiqué ci-dessous :

server {
    listen 80;
    server_name www.example1.com;
    location / {
        proxy_pass http://127.0.0.1:8080;
    }
}

server {
    listen 80;
    server_name www.example2.com;
    location / {
        proxy_pass http://127.0.0.1:8080;
    }
}
Copier après la connexion

Dans le code de configuration ci-dessus, Listen spécifie l'adresse IP et le numéro de port que l'hôte virtuel écoute, server_name spécifie le nom de domaine de l'hôte virtuel et location spécifie le chemin de requête de l'hôte virtuel. Parmi eux, proxy_pass transmet la requête à l'adresse spécifiée, ici vers le port local 8080.

(2) Dans le framework Gin, écoutez l'adresse IP et le numéro de port spécifiés pour recevoir les requêtes transmises par nginx. Le code d'implémentation spécifique est le suivant :

router := gin.Default()

router.GET("/", func(c *gin.Context) {
    c.String(http.StatusOK, "Hello, Gin!")
})

router.Run(":8080")
Copier après la connexion

Dans le code ci-dessus, le port 8080 local est surveillé et une interface de test est ajoutée sous le chemin racine pour renvoyer une chaîne.

Grâce à la configuration ci-dessus, vous pouvez réaliser la fonction de plusieurs sites Web exécutés sur le même serveur. Le proxy inverse nginx mappe différents noms de domaine à l'adresse IP du même serveur, les achemine et les transmet en fonction du nom de domaine côté serveur. Le framework Gin est responsable du traitement des requêtes reçues et de leur mappage à l'hôte virtuel correspondant. basé sur le nom de domaine, réalisant ainsi plusieurs sites Web exécutés sur le même serveur.

4. Résumé

La fonction de liaison d'hôte virtuel et de nom de domaine du framework Gin peut permettre à plusieurs sites Web de s'exécuter sur le même serveur, économisant ainsi les ressources et les coûts du serveur. Grâce à l'utilisation combinée du middleware vhost et du proxy inverse nginx, des fonctions de liaison d'hôte virtuel et de nom de domaine flexibles, efficaces et évolutives peuvent être obtenues. La fonction de liaison d'hôte virtuel et de nom de domaine du framework Gin est une fonctionnalité très importante pour les développeurs Web, qui doit être maîtrisée et appliquée de manière flexible.

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

AI Hentai Generator

AI Hentai Generator

Générez AI Hentai gratuitement.

Article chaud

R.E.P.O. Crystals d'énergie expliqués et ce qu'ils font (cristal jaune)
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Meilleurs paramètres graphiques
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Comment réparer l'audio si vous n'entendez personne
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25: Comment déverrouiller tout dans Myrise
4 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌

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)

Utilisez le framework Gin pour implémenter les fonctions d'analyse de données XML et JSON Utilisez le framework Gin pour implémenter les fonctions d'analyse de données XML et JSON Jun 22, 2023 pm 03:14 PM

Dans le domaine du développement Web, XML et JSON, l'un des formats de données, sont largement utilisés, et le framework Gin est un framework Web léger en langage Go, simple, facile à utiliser et offrant des performances efficaces. Cet article explique comment utiliser le framework Gin pour implémenter les fonctions d'analyse de données XML et JSON. Présentation du framework Gin Le framework Gin est un framework Web basé sur le langage Go, qui peut être utilisé pour créer des applications Web efficaces et évolutives. Le framework Gin est conçu pour être simple et facile à utiliser. Il fournit une variété de middleware et de plug-ins pour effectuer le développement.

Utilisez le framework Gin pour implémenter la génération automatique de documents API et de fonctions de centre de documents Utilisez le framework Gin pour implémenter la génération automatique de documents API et de fonctions de centre de documents Jun 23, 2023 am 11:40 AM

Avec le développement continu des applications Internet, l’utilisation d’interfaces API devient de plus en plus populaire. Au cours du processus de développement, afin de faciliter l'utilisation et la gestion des interfaces, la rédaction et la maintenance des documents API sont devenues de plus en plus importantes. La manière traditionnelle de rédiger des documents nécessite une maintenance manuelle, qui est inefficace et sujette aux erreurs. Afin de résoudre ces problèmes, de nombreuses équipes ont commencé à utiliser la génération automatique de documents API pour améliorer l'efficacité du développement et la qualité du code. Dans cet article, nous présenterons comment utiliser le framework Gin pour implémenter la génération automatique de documents API et de fonctions de centre de documents. Le gin en est un

Utilisez le framework Gin pour implémenter des fonctions de surveillance et d'alarme en temps réel Utilisez le framework Gin pour implémenter des fonctions de surveillance et d'alarme en temps réel Jun 22, 2023 pm 06:22 PM

Gin est un framework Web léger qui utilise les capacités de traitement de coroutine et de routage à grande vitesse du langage Go pour développer rapidement des applications Web hautes performances. Dans cet article, nous explorerons comment utiliser le framework Gin pour implémenter des fonctions de surveillance et d'alarme en temps réel. La surveillance et les alarmes constituent une partie importante du développement de logiciels modernes. Dans un grand système, il peut y avoir des milliers de processus, des centaines de serveurs et des millions d’utilisateurs. La quantité de données générées par ces systèmes est souvent stupéfiante. Il est donc nécessaire de disposer d'un système capable de traiter rapidement ces données et de fournir des alertes en temps opportun.

Utilisez le framework Gin pour implémenter la passerelle API et les fonctions d'authentification et d'autorisation Utilisez le framework Gin pour implémenter la passerelle API et les fonctions d'authentification et d'autorisation Jun 22, 2023 am 08:57 AM

Dans l'architecture Internet moderne, la passerelle API est devenue un composant important et est largement utilisée dans les scénarios d'entreprise et de cloud computing. La fonction principale de la passerelle API est de gérer et de distribuer uniformément les interfaces API de plusieurs systèmes de microservices, de fournir un contrôle d'accès et une protection de sécurité, et peut également effectuer la gestion, la surveillance et la journalisation des documents API. Afin de mieux garantir la sécurité et l'évolutivité de la passerelle API, certains mécanismes de contrôle d'accès et d'authentification et d'autorisation ont également été ajoutés à la passerelle API. Un tel mécanisme peut garantir que les utilisateurs et les services

Explication détaillée du proxy inverse et du transfert de requêtes dans le cadre Gin Explication détaillée du proxy inverse et du transfert de requêtes dans le cadre Gin Jun 23, 2023 am 11:43 AM

Avec le développement rapide des applications Web, de plus en plus d'entreprises ont tendance à utiliser le langage Golang pour le développement. Dans le développement Golang, l’utilisation du framework Gin est un choix très populaire. Le framework Gin est un framework Web hautes performances qui utilise fasthttp comme moteur HTTP et possède une conception d'API légère et élégante. Dans cet article, nous approfondirons l'application du proxy inverse et le transfert de requêtes dans le framework Gin. Le concept de proxy inverse Le concept de proxy inverse consiste à utiliser le serveur proxy pour rendre le client

Explication détaillée des performances de sécurité et de la configuration de la sécurité du framework Gin Explication détaillée des performances de sécurité et de la configuration de la sécurité du framework Gin Jun 22, 2023 pm 06:51 PM

Le framework Gin est un framework de développement Web léger basé sur le langage Go et fournit d'excellentes fonctionnalités telles que de puissantes fonctions de routage, la prise en charge des middlewares et l'évolutivité. Cependant, la sécurité est un facteur crucial pour toute application Web. Dans cet article, nous discuterons des performances de sécurité et de la configuration de la sécurité du framework Gin pour aider les utilisateurs à garantir la sécurité de leurs applications Web. 1. Performances de sécurité du framework Gin 1.1 Prévention des attaques XSS Les attaques par cross-site scripting (XSS) sont les attaques Web les plus courantes.

Explication détaillée du traitement d'internationalisation et prise en charge multilingue du framework Gin Explication détaillée du traitement d'internationalisation et prise en charge multilingue du framework Gin Jun 22, 2023 am 10:06 AM

Le framework Gin est un framework Web léger qui se caractérise par sa rapidité et sa flexibilité. Pour les applications qui doivent prendre en charge plusieurs langues, le framework Gin peut facilement effectuer un traitement d'internationalisation et une prise en charge multilingue. Cet article développera le traitement d'internationalisation et la prise en charge multilingue du framework Gin. Internationalisation Durant le processus de développement, afin de prendre en compte les utilisateurs de différentes langues, il est nécessaire d'internationaliser l'application. Pour faire simple, le processus d’internationalisation signifie modifier et adapter de manière appropriée les fichiers de ressources, les codes, les textes, etc.

Utiliser le framework Gin pour implémenter l'internationalisation et les fonctions de support multilingue Utiliser le framework Gin pour implémenter l'internationalisation et les fonctions de support multilingue Jun 23, 2023 am 11:07 AM

Avec le développement de la mondialisation et la popularité d'Internet, de plus en plus de sites Web et d'applications ont commencé à s'efforcer d'atteindre l'internationalisation et des fonctions de support multilingues pour répondre aux besoins de différents groupes de personnes. Afin de réaliser ces fonctions, les développeurs doivent utiliser des technologies et des frameworks avancés. Dans cet article, nous présenterons comment utiliser le framework Gin pour implémenter des capacités d'internationalisation et de support multilingue. Le framework Gin est un framework web léger écrit en langage Go. Il est efficace, facile à utiliser et flexible, et est devenu le framework préféré de nombreux développeurs. en plus,

See all articles