ZBLOG

func handlerupload(w http.ResponseWriter, r *http.Request) { r.ParseMultipartForm(32

这个问题是由于服务端证书无法被浏览器所信任导致的TLS握手错误。为了解决这个问题,你可以按照以下步骤进行操作:

  1. 生成自签名证书和私钥文件:使用OpenSSL或其他工具生成自签名证书(例如server.crt)和私钥文件(例如server.key)。确保在生成证书时使用正确的主机名和IP地址。

    openssl req -newkey rsa:2048 -nodes -keyout server.key -x509 -days 365 -out server.crt
    
  2. 将生成的server.crtserver.key文件放置在与你的Go代码相同的目录下。

  3. 修改代码中启动服务器的部分,确保正确加载证书和密钥文件:

    go func() {
       if err := server.ListenAndServeTLS("server.crt", "server.key"); err != nil && err != http.ErrServerClosed {
           log.Fatal(err)
       }
    }()
    
  4. 在浏览器中添加信任自签名证书:将生成的自签名证书(例如server.crt)导入到你的浏览器中,以便让浏览器信任该证书。具体步骤因浏览器而异,请查阅相关文档或指南。

完成上述步骤后,再次运行服务器并访问 https://localhost:8080/upload?file=/Users/tangxuxin/GolandProjects/exetice_project/client/file,应该能够成功建立TLS连接,并上传文件到服务器。

请注意,自签名证书在生产环境中不被广泛接受,因为它们没有由权威的证书颁发机构(CA)所签名。在实际部署时,你可能需要考虑获取真实的SSL证书来确保安全和信任性。


内容由零声教学AI助手提供,问题来源于学员提问

本站部分文章来源于网络,版权归原作者所有,如有侵权请联系站长删除。
转载请注明出处:https://sdn.0voice.com/?id=3399

分享:
扫描分享到社交APP
上一篇
下一篇
发表列表
游客 游客
此处应有掌声~
评论列表

还没有评论,快来说点什么吧~

联系我们

在线咨询: 点击这里给我发消息

微信号:3007537140

上班时间: 10:30-22:30

关注我们
x

注册

已经有帐号?