我编写了一个简单的Go
Web服务器,它只返回Web客户端的路径:
package main
import (
"net/http"
"log"
)
type httpServer struct {
}
func (server httpServer) ServeHTTP(w http.ResponseWriter, r *http.Request) {
w.Write([]byte(r.URL.Path))
}
func main() {
var server httpServer
http.Handle("/", server)
log.Fatal(http.ListenAndServe("localhost:9000", nil))
}
我怀疑它与代理有关。但为什么IE
没问题,而Chrome
却没有?我认为他们应该使用相同的代理。
答案 0 :(得分:0)
看来你正在从其他主机运行chrome,是吗? (基于它显示的是不是localhost的IP地址)
log.Fatal(http.ListenAndServe("localhost:9000", nil))
这意味着:专门监听127.0.0.1:9000(假设您的hosts文件仍然将localhost分配给127.0.0.1,这是默认值)
没有办法从另一个盒子中击中它。
更改为:
log.Fatal(http.ListenAndServe(":9000", nil))
这会导致go服务器监听它运行的机器的所有地址。
或者你是说在chrome中键入“localhost:9000”并从你试过IE的同一台机器重定向到16.155.255.10/apache-default?