为了账号安全,请及时绑定邮箱和手机立即绑定

【九月打卡】第14天 ReverseProxy

标签:
Go

课程内容

ReverseProxy 功能点:

  • 更改内容支持
  • 错误信息回调
  • 支持自定义负载均衡
  • url重写功能
  • 连接池功能
  • 支持websocket服务
  • 支持https代理

实现:

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

var addr = "127.0.0.1:2002"

func main() {
	//127.0.0.1:2002/xxx
	//127.0.0.1:2003/base/xxx
	rs1 := "http://127.0.0.1:2003/base"
	url1, err1 := url.Parse(rs1)
	if err1 != nil {
		log.Println(err1)
	}
	proxy := httputil.NewSingleHostReverseProxy(url1)
	log.Println("Starting httpserver at " + addr)
	log.Fatal(http.ListenAndServe(addr, proxy))
}

图片描述

课程收获:
学习go语言中的ReverseProxy,使用其实现代理,完成网络转发,并且亲自动手实践,实现相关功能,熟悉了go语言的编码格式以及语法逻辑,收益匪浅。

点击查看更多内容
TA 点赞

若觉得本文不错,就分享一下吧!

评论

作者其他优质文章

正在加载中
  • 推荐
  • 评论
  • 收藏
  • 共同学习,写下你的评论
感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦
今天注册有机会得

100积分直接送

付费专栏免费学

大额优惠券免费领

立即参与 放弃机会
意见反馈 帮助中心 APP下载
官方微信

举报

0/150
提交
取消