您好,欢迎访问沃航(武汉)科技有限公司官方网站
go语言开发反向代理服务器
2019-09-24 20:37:12

前一天小沃向大家介绍了下http代理服务器,但是由于这些代理服务器均是正向代理,需要客户端支持,如果客户端不支持,就无法工作,因此小沃今天教大家用go语言开发反向代理。

go语言是google最新推出的编程语言,拥有天生异步IO,高并发,执行性能好,生成文件是单个可执行文件等好处。其中最后一点经常被小沃用于开发一些工具软件。

go语言用于开发反向代理可以说就一句话。

代码如下:

package main

import (
    "net/http"
    "net/http/httputil"
    "net/url"
)

func ServeHTTP(res http.ResponseWriter, req *http.Request) {
    remote, err := url.Parse("https://mirrors.aliyun.com")
    if err != nil {
        panic(err)
    }
    proxy := httputil.NewSingleHostReverseProxy(remote)
    req.Host = "mirrors.aliyun.com"
    proxy.ServeHTTP(res, req)
}

func main() {
    http.HandleFunc("/", ServeHTTP)
    err := http.ListenAndServe(":32236", nil);
    if err != nil {
        panic(err)
    }
}

这里为什么要用mirrors.aliyun.com做案例,因为小沃就是用这一段代码解决的一个内网服务器无法连接外网,但是需要下载依赖的问题的,大家可以根据自己的需求修改为特定的域名,代理端口为固定的32236


文章作者:沃航科技

联系我们
地址:
武汉市洪山区蓝晶国际7栋903
QQ:
932773931
电话:
027-59761089-806
手机:
13397158231
邮箱:
jevian_ma@worldflying.cn
×
物联网组态平台
试用账号:123456
试用密码:123456
如需测试更多功能或者有疑问可发送邮件至:jevian_ma@worldflying.cn
×
积木编程平台
试用方式:试用手机号码注册即可使用
如需测试更多功能或者有疑问可发送邮件至:jevian_ma@worldflying.cn