使用NGINX反向代理服务Go服务

向世界展示Go应用程序的最常见方法之一是通过反向代理。

NGINX使这非常容易。此NGINX配置可为2个不同的应用程序提供服务,分别监听端口8001和8002。

server {
   listen 80 default_server;
   server_name your-domain;

location /go-service-1 { proxy_set_header X-Real-IP $remote_addr; proxy_pass http://localhost:8001; }

location /go-service-2 { proxy_set_header X-Real-IP $remote_addr; proxy_pass http://localhost:8002; } }

使用proxy_set_header X-Real-IP $remote_addr确保您拥有访客的真实地址http.Request.Header.Get("X-Real-IP")

8081和8082端口现在可以保持私有状态,NGINX从单个入口点为它们提供服务。


更多教程: