Nginx代理Go服务
使用Nginx反向代理,我们可以保护真实服务,也能使用域名更方便地访问服务。本文将使用Nginx来代理服务器上的Go服务,实现域名访问。
安装Nginx
安装请看Centos安装Nginx
HTTP服务
package main
import (
"fmt"
"net/http"
)
func IndexHandle(w http.ResponseWriter, r *http.Request) {
fmt.Fprint(w, "这是Go语言写的HTTP服务")
}
func main() {
http.HandleFunc("/", IndexHandle)
http.ListenAndServe(":8080", nil)
}
将服务跑起来
go run main.go
访问ip:8080,服务正常运行(如果无法访问请检查安全组或防火墙设置)
使用Nginx反向代理
在/usr/local/nginx/conf/nginx.conf中添加配置
server {
listen 80;
server_name httpgo.com;
location / {
# 代理本机8080端口
proxy_pass http://127.0.0.1:8080;
}
}
重启Nginx后访问httpgo.com,如下,已经成功使用域名访问