草庐IT

SSL证书部署

全部标签

来自 x509 证书的 golang 主题 DN

有什么简单的方法可以从x509证书中以字符串形式获取完整的主题DN(或颁发者DN)?我无法在pkix.Name中找到任何类似“.String()”的方法 最佳答案 解决方案(感谢同事):varoid=map[string]string{"2.5.4.3":"CN","2.5.4.4":"SN","2.5.4.5":"serialNumber","2.5.4.6":"C","2.5.4.7":"L","2.5.4.8":"ST","2.5.4.9":"streetAddress","2.5.4.10":"O","2.5.4.11":"

windows - Golang httpClient CA证书默认位置?

我有一个go程序,它使用httpClient连接到内部API(它全部由swagger-codegen生成)。内部API使用https和我们内部CA的内部证书。在我的Windows笔记本电脑上,无需指定任何CA即可正常工作。在Linux服务器上,它因x509:certificatesignedbyunknownauthority错误而失败。我相信我们的Windows公司笔记本电脑默认安装了CA,并且golang无需任何配置即可获得这些CA。因此我想知道go在Linux和Windows上检查CA的位置,这样我就可以比较两个操作系统之间的设置并在上安装正确的CALinux.

ssl - 通过 DNS 对多个子域和 IP 地址使用 autocert

我有两台独立的服务器,它们使用相同的域名和不同的前缀,一台做一些应用程序的事情,另一台做文件共享。使用autocert包,我如何才能配置证书管理器来生成我可以在两台服务器上使用的证书? 最佳答案 将两个域添加到证书管理器白名单:certManager:=autocert.Manager{Prompt:autocert.AcceptTOS,HostPolicy:autocert.HostWhitelist("domain.me","filesharing.domain.me"),//YourdomainhereCache:autoce

docker - 从 Go api 连接到 Redshift 时出现 SSL 错误

我有以下代码:funcNewConnection(connectionStringstring)(*sql.DB,error){db,err:=sql.Open("postgres",connectionString)iferr:=db.Ping();err!=nil{log.Panic(err)}returndb,err}以及以下Dockerfile:#BuildenvFROMgolang:alpineASbuildARGstageRUNapkupdate&&apkupgrade&&\apkadd--no-cachebashgitopensshbuild-base&&\goget-u

go命令访问自签名证书

我正在使用带有自签名证书的自托管Git(gitea)的Go。然而,对于自签名证书,大多数Go命令都无法正常工作,包括“gomod”。在执行任何其他gomod命令之前,我必须执行“goget-insecure....”。我什至无法执行“golist”,因为它似乎不接受-insecure标志。大多数IDE工具都无法正常工作,尤其是GoLand。解决此类问题的最佳方法是什么?我是否必须获取证书并在本地添加到受信任的证书?或者还有另一种方法可以解决这个问题吗? 最佳答案 正如@Vorsprung所说,我作为我们的MIS提供自签名CA,并在我

go - 我如何将脚本部署到仅在预定时间运行的 heroku

我有一个用Golang编写的脚本,它执行一些http请求并将信息存储在外部数据库中。我希望这个脚本在我设置的时间每天运行一次。现在我正在处理如何部署它,我的第一个选择是Heroku,因为这是我最熟悉的平台。我的问题是我不希望在我第一次部署脚本或每次部署更新时运行脚本。相反,我正在考虑使用调度程序插件并设置执行脚本的时间。这是否可能,或者是否有更有效的配置让脚本仅在指定时间运行?预先感谢您的回答! 最佳答案 你应该使用gocronhttps://github.com/jasonlvhit/gocron并在heroku上永久运行你的di

amazon-web-services - 使用 AWS EC2 Golang GO 端点在 Docker 部署上获取 JSON 时出现问题

我在使用Docker文件向AWS上的/biz端点发出GET请求时遇到困难。我根据本类(class)制作了以下项目,很想听听您的见解。我在终端中运行了以下所有命令dockerbuild-tprojectnamedockertagprojectnameusername/projectnamedockerpushusername/projectnamessh-i~/.ssh/projectAWS.pemec2-user@[public-DNSAWSEC2的内部终端sudoyumupdate-ysudoyuminstall-ydockersudoservicedockerstartsudous

ssl - 使用 SSL 在 Nginx 反向代理后面运行 Go 服务器

我已经在互联网上进行了一些挖掘,但没有发现任何类似的东西(至少在任何适合我的解决方案附近)。本质上,我在127.0.0.1:1337上本地运行一个Golang服务器,我希望它可以在全局范围内访问,所以我使用Nginx转发来自https://api的流量。example.com/到我的API以检索信息。话虽如此,我只是简单地将我的Golang服务器设置为在端口1337上监听和服务,并且我的Nginx配置设置为重定向所有HTTP流量(对于所有域)到HTTPS:server{listen80default_server;server_name_;return301https://$host$

go - 如何部署 travis 自动构建,我的失败了,我不知道如何修复

我在构建travis文件时遇到了问题。弹出一个错误packageerrorX:unrecognizedimportpath"errorX"(importpathdoesnotbeginwithhostname),我不知道是哪一部分导致的。language:gogo:-1.9.x-1.10.x-1.11.xenv:-GOARCH=amd64-GOARCH=386sudo:truego_import_path:github.com/fwhezfwhez/errorxbefore_install:-gogetgithub.com/fwhezfwhez/errorx-gogetgithub.c

go - 通过 jenkins 部署 go 应用程序

我刚刚创建了两个EC2实例,一个使用Jenkins,一个用于go应用程序。我设法创建了一个节点和一个协同工作的作业,在开始构建go应用程序的作业后,我在工作区文件夹中获得了go文件。而且我不明白从现在开始我需要做什么。我无法运行gorunserver.go,因为它不在gosrc文件夹中,所以我收到命名空间不存在的错误。这是我得到的错误:server.go:7:2:cannotfindpackage"freelancers/daos"inanyof:/usr/lib/golang/src/freelancers/daos(from$GOROOT)/home/ec2-user/projec