使用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,服务正常运行(如果无法访问请检查安全组或防火墙设置)

145640.png

使用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,如下,已经成功使用域名访问

152127.png

标签: Nginx, Go

添加新评论