搭建WEB服务器时。如何实现同一端口绑定不同域名

admin87 · 2017-11-29 01:08:56 · 2688 次点击 · 大约8小时之前 开始浏览    置顶
这是一个创建于 2017-11-29 01:08:56 的主题,其中的信息可能已经有所发展或是发生改变。

以前在做IIS时可以实现a.a.com 与b.a.com 或是 c.b.com 同时绑定80端口,实现不同网站。 现在再用http.ListenAndServe(":80", nil) 如何实现这一功能。

求大神给出办法。谢谢了


有疑问加站长微信联系(非本文作者)

入群交流(和以上内容无关):加入Go大咖交流群,或添加微信:liuxiaoyan-s 备注:入群;或加QQ群:692541889

2688 次点击  
加入收藏 微博
5 回复  |  直到 2017-11-30 15:45:43
admin87
admin87 · #1 · 7年之前

有人会吗,教 下

sheepbao
sheepbao · #2 · 7年之前

做个路由就好了,不同的域名不同的路由,并限制直接用ip访问网站

admin87
admin87 · #3 · 7年之前
sheepbaosheepbao #2 回复

做个路由就好了,不同的域名不同的路由,并限制直接用ip访问网站

你说的我还是不太理解。

var SiteMap = make(map[string]http.HandlerFunc) func router(){ SiteMap["/index"] = HomePage SiteMap["/error"] = ErrorPage SiteMap["/class/"] = HRootClass SiteMap["/detail/"]= HRootDetail }

func main() {

router()

//自定义WEB路由表,以/结尾的URL可以匹配它的任何子路径
mux := http.NewServeMux()
mux.HandleFunc("/",HandleRoot)
for k,v := range SiteMap {
    mux.HandleFunc(k,v)
}

fmt.Println("http server Running on:", 9090)
err := http.ListenAndServe(":9090", mux)
if err != nil {
    panic(err)
}

}

func HomePage(w http.ResponseWriter, r *http.Request) { log.Printf("HomePage Url:%s",r.URL) t, _ := template.ParseFiles("views/index/index.html") t.Execute(w, nil) }

我现在是这么做的路由功能。

路由功能,能不能做分级别,比如一级路由用来区分域名,二级路由来分不同页面。

arterforyou
arterforyou · #4 · 7年之前

搞个配置文件,server_name对应 url, 然后requests过来的话,抽取出http的host头部,匹配server_name对应的url不就行了?

admin87
admin87 · #5 · 7年之前
arterforyouarterforyou #4 回复

搞个配置文件,server_name对应 url, 然后requests过来的话,抽取出http的host头部,匹配server_name对应的url不就行了?

谢谢明白了

添加一条新回复 (您需要 登录 后才能回复 没有账号 ?)
  • 请尽量让自己的回复能够对别人有帮助
  • 支持 Markdown 格式, **粗体**、~~删除线~~、`单行代码`
  • 支持 @ 本站用户;支持表情(输入 : 提示),见 Emoji cheat sheet
  • 图片支持拖拽、截图粘贴等方式上传