- xml - AJAX/Jquery XML 解析
- 具有多重继承的 XML 模式
- .net - 枚举序列化 Json 与 XML
- XML 简单类型、简单内容、复杂类型、复杂内容
目前。我有下面一行(效果很好)
http.ListenAndServeTLS(":"+Config.String("port"), Config.Key("https").String("cert"), Config.Key("https").String("key"), router)
当我尝试将端口设置为 443 而不是 8080 时,问题就来了。我在浏览器上收到以下错误 (Chrome)
This site can’t provide a secure connection.
www.example.com sent an
invalid response. ERR_SSL_PROTOCOL_ERROR
我不确定自己做错了什么,或者我是否不应该在端口 443 上运行服务器?
最佳答案
我能想到发生这种情况的两个原因
由于标记标签无法解决第一个问题,因此本答案将涵盖第二个问题。
发生此问题是因为默认情况下,当您键入 www.domain.com 之类的地址时,您的浏览器会尝试使用端口 80 上的 http 协议(protocol)联系 url 域,这是一个已知行为 Golang ListenAndServeTLS returns data when not using https in the browser
现在,如果您在浏览器中输入具有适当方案的完整 URL,例如 https://www.domain.com
,浏览器将通过端口 443 访问服务器并启动 TLS 握手与您的服务器,从而呈现正确的数据。
现在,您知道这一点,但您的用户却不知道。如果您的用户每次尝试仅使用您的域作为 URL 访问您的 Web 应用程序时都收到 SSL 握手错误通知,那将是非常令人沮丧的。
为了避免这个问题,您可以在端口 :80(或 8080)上的服务器启动一个 go 例程,使用这段简单的代码将所有请求重定向到端口 443:
// redir is a net.Http handler which redirects incoming requests to the
// proper scheme, in this case being https
func redir(w http.ResponseWriter, req *http.Request) {
hostParts := strings.Split(req.Host, ":")
http.Redirect(w, req, "https://"+hostParts[0]+req.RequestURI, http.StatusMovedPermanently)
}
func main() {
// this go subroutine creates a server on :8080 and uses the redir handler
go func() {
err := http.ListenAndServe(":8080", http.HandlerFunc(redir))
if err != nil {
panic("Error: " + err.Error())
}
}()
http.ListenAndServeTLS(":"+Config.String("port"), Config.Key("https").String("cert"), Config.Key("https").String("key"), router)
}
希望对你有帮助干杯,
关于ssl - 去 ListenAndServeTLS 握手,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37878460/
在 firefox 中,链接手形光标显示正常,但在 IE7 中显示文本光标。 如何在所有浏览器的链接上获得相同的光标(手)? 我可以在 CSS 重置中添加一些内容,以便在所有浏览器中的链接上获取光标吗
我试图在表单元素上方显示我的表单标签,所以我在我的 CSS 中使用了 display:block。但是,我无法通过这种方式每行显示超过 1 个表单元素。 如何正确更新我的 CSS 以在表单元素上方显示
我想找到人手的宽度,但卡在手上的洞上。 我有一只手的图片并找到了它的二进制文件。手上有一个圆圈,其半径和中心已知(引用对象)。我想找到手的宽度,但它上面有一些补丁(孔),这阻碍了找到手的最佳宽度。 这
我尝试为一款游戏制作一个机器人,但他们有很酷的反像素机器人技术。 所以我想,“如果我可以制作一个机器人,只检查光标是否变为手形然后单击,它就会起作用,”因为我需要收集奖金盒,当你将光标指向它时,它变为
我尝试为一款游戏制作一个机器人,但他们有很酷的反像素机器人技术。 所以我想,“如果我可以制作一个机器人,只检查光标是否变为手形然后单击,它就会起作用,”因为我需要收集奖金盒,当你将光标指向它时,它变为
所以我有一副牌的代码,但我不知道如何让另一个类来处理 4 手牌,每手 10 张牌。另一类应在屏幕上以文字形式打印 4 手 10 张随机卡片。有人可以向我展示如何完成此任务的代码吗?我也使用 blueJ
我正在尝试通过在开放正方形内插入图标来使用 fontawesome 创建图标。悬停时,我想更改正方形内背景的颜色,以及正方形的实际颜色和图标颜色。 我在这里举了一个例子:http://jsfiddle
当我手动启 Action 业时,我正在寻找设置变量的正确方法。 我试过 : stages: - test my_job: stage: test script: - echo "H
我必须添加以下代码: a {cursor:pointer;} 在 angular-ui-bootstrap 中将光标更改为标签、分页、下拉切换等链接上的指针/手。 为什么默认不改为指针?这是故意的吗?
我是一名优秀的程序员,十分优秀!