Maison > Article > développement back-end > Comment nginx transmet-il les requêtes au serveur backend Golang ?
Nginx est un serveur Web puissant et un serveur proxy inverse. Il peut être utilisé pour les protocoles HTTP, HTTPS, SMTP, POP3 et IMAP. Golang est un langage de programmation développé par Google. Il présente les caractéristiques d'une grande efficacité et d'une grande simplicité. Par conséquent, Golang est souvent utilisé pour écrire des programmes back-end dans des applications avec un front-end et un back-end séparés. Afin d'améliorer les performances et l'évolutivité de l'application, nous devons généralement utiliser Nginx comme proxy inverse pour transmettre la requête au serveur backend Golang.
Avant de configurer Nginx en tant que serveur proxy inverse, nous devons confirmer que l'application Golang est installée et exécutée sur le serveur. Nous pouvons confirmer si Golang a été installé via la commande suivante :
go version
Si le numéro de version est renvoyé, cela signifie que Golang a été installé avec succès. Ensuite, nous devons activer le service HTTP dans l'application Golang, comme indiqué ci-dessous :
package main import ( "fmt" "net/http" ) func main() { http.HandleFunc("/", func(w http.ResponseWriter, r *http.Request) { fmt.Fprintf(w, "Hello, Golang!") }) http.ListenAndServe(":8080", nil) }
Dans ce code, nous définissons une fonction de traitement HTTP qui renverra "Bonjour, Golang !" Ensuite, nous utilisons la fonction http.ListenAndServe()
pour enregistrer le service HTTP sur le port 8080. http.ListenAndServe()
函数将HTTP服务注册在8080端口上。
接下来,我们将Nginx配置为反向代理服务器,将请求转发到Golang后端服务器上。我们可以在Nginx的配置文件中添加以下内容:
server { listen 80; server_name localhost; location / { proxy_pass http://127.0.0.1:8080; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; } }
在这段代码中,我们定义了一个服务器块,使用listen
指令设置Nginx监听的端口,使用server_name
指令设置服务器名称。然后,我们使用location
指令定义一个请求路径,将请求转发到http://127.0.0.1:8080
地址上。同时,我们使用proxy_set_header
curl http://localhost/Dans ce code, nous définissons un bloc serveur, utilisons la directive
listen
pour définir le port que Nginx écoute et utilisons server_name définit le nom du serveur. Ensuite, nous utilisons la directive <code>location
pour définir un chemin de requête et transmettre la requête à l'adresse http://127.0.0.1:8080
. Dans le même temps, nous utilisons la directive proxy_set_header
pour définir certaines informations d'en-tête HTTP afin que l'application Golang puisse obtenir correctement l'adresse IP du client. Maintenant, nous pouvons utiliser la commande suivante pour tester si Nginx a transmis avec succès la requête à l'application Golang : rrreee
Si "Bonjour, Golang !" est renvoyé, Nginx a transmis avec succès la requête au backend Golang. en haut. 🎜🎜Pour résumer, avant de configurer Nginx comme serveur proxy inverse, nous devons confirmer que l'application Golang a été installée et exécutée sur le serveur. Ensuite, nous activons le service HTTP de Golang et configurons Nginx en tant que serveur proxy inverse pour transmettre la requête au serveur backend de Golang. Bien entendu, pour une application spécifique, une configuration détaillée est requise en fonction de la situation réelle. 🎜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!