0

我有一个小型服务器,我希望该服务器使用 gorilla/mux 包监听我的自定义域 sftablet.dev。

这是代码:

package main

import (
    "fmt"
    "net/http"

    "github.com/gorilla/mux"
)

func main() {
    r := mux.NewRouter()
    r.Host("sftablet.dev")
    r.HandleFunc("/", HomeHandler)
    r.HandleFunc("/products", ProductsHandler)
    http.ListenAndServe(":8080", r)
}

func HomeHandler(w http.ResponseWriter, r *http.Request) {
    fmt.Fprint(w, "Hey, this is homepage")
}

func ProductsHandler(w http.ResponseWriter, r *http.Request) {
    fmt.Fprint(w, "Hey, this is products")
}

我还在主机文件中添加了这个:

127.0.0.1       sftablet.dev

但由于某种原因,它不起作用。如果我去 127.0.0.1:8080,它确实有效,但在我访问http://sftablet.dev/时无效。还清除了 DNS 缓存。

4

2 回答 2

3

http://sftablet.dev/默认情况下会查询端口 80

您的服务器只侦听端口 8080。http://sftablet.dev:8080/应该可以工作。

于 2015-09-05T08:59:26.730 回答
0

而不是使用r.Host("sftablet.dev"),将域名主机移动到http.ListenAndServe方法中:

func main() {
    r := mux.NewRouter()
    // r.Host("sftablet.dev")
    r.HandleFunc("/", HomeHandler)
    r.HandleFunc("/products", ProductsHandler)
    http.ListenAndServe("sftablet.dev:8080", r)
}
于 2021-12-28T21:59:14.810 回答