草庐IT

Nginx配置https出现的问题与解决

全部标签

docker - 如何从 docker 容器配置 go sdk 和 GOPATH?

我正在尝试使用JetbrainsGogland和dockercompose配置golang项目。我想使用GOPATH并从docker容器中走出来。我的意思是使用容器中的go安装来进行自动完成等,而无需在本地计算机上安装golang。项目结构是:projectrootdocker-compose.ymlback|Dockerfilemain.gosomeotherpackagesfront|allthefrontfiles...之后,我想将我的back文件夹部署到docker容器中的/go/src/app。问题是当我开发项目时我不能使用自动完成,因为这个项目不在我本地的GOPATH中并且

go - 如何为滚动文件系统日志配置 uber-go/zap 记录器?

如何配置uber-go/zap记录器api将日志附加到指定的文件路径。能否使其像滚动文件附加程序(基于文件大小或日期)一样工作而不影响性能? 最佳答案 一个钩子(Hook)可以添加到zap记录器,它将条目写入lumberjack,Go的滚动日志。一个简单的用法是这样的:滚动日志://remembertocallthisatapp(orscope)exit://logger.Close()varlumlog=&lumberjack.Logger{Filename:"/tmp/my-zap.log",MaxSize:10,//megab

go - 如何将数组中的配置项绑定(bind)到环境变量

下面是我的toml格式的配置文件。[[hosts]]name="host1"username="user1"password="password1"[[hosts]]name="host2"username="user2"password="password2"...这是我加载它的代码:import("fmt""github.com/spf13/viper""strings")typeConfigstruct{Hosts[]Host}typeHoststruct{Namestring`mapstructure:"name"`Usernamestring`mapstructure:"us

sql - Go SQL 扫描/值接口(interface)问题

我正在尝试为我的自定义结构添加自动转换的扫描/值接口(interface)。我还能够在bool类型上实现Value()和Scan(),但是当尝试在具有gocql.UUID字段的东西上实现它时,我无法让Scan()工作。如有任何建议,我们将不胜感激!简短示例:typeUidstruct{gocql.UUID}func(u*Uid)Scan(valueinterface{})error{...ifsv,err:=driver.String.ConvertValue(value);err==nil{ifv,ok:=sv.(string);ok{//完整代码:https://play.gola

go - 导入本地包时遇到问题

我决定尝试将我的项目分解为MVC类型View,所以开始时我想将所有路由放入一个Controller文件夹中,并将我的数据库连接放入另一个名为db的文件夹中。我想不出如何使数据库连接顺利进行。当所有文件都在我的packagemain中时,我只是在main中调用了InitDb()并且在main包中的所有其他文件中我可以访问数据库多变的。既然我制作了db,它是down包并导入它,没有任何东西被识别。我也不知道在哪里调用InitDb()和deferdb.Close()因为它们不在main中。db/db.gopackagedatabaseimport("fmt""database/sql")va

go - 在 Circle Ci Golang 上导入包时出现问题

我正在使用CircleCI来测试我的项目。该项目是一个简单的Go应用程序,由几个包和一个main.go文件组成。在我的项目中引用包时,我只是将它们作为代码中的“projectName/packageName”导入。这在本地工作正常,但是,当我推送到git并且它是在CircleCI上构建时,我收到以下错误。packagecrypto-compare-go/handlers:unrecognizedimportpath"crypto-compare-go/handlers"(importpathdoesnotbeginwithhostname)我通过在本地包导入前加上github.com/

nginx - 在生产中部署 Golang (Beego)

我有PHP背景w/c,你可以轻松地将PHP文件扔到服务器中,仅此而已!在Golang中如何,具体是Beego框架,因为我已经使用Beego创建了一个网站但是我的障碍是(Q1)如何在Ubunto和NGINX环境中部署?(Q2)部署前是否需要编译Beego项目?(Q3)我需要NGINX/Apache作为服务器还是使用Beego内置的“run”?谢谢。 最佳答案 如何在Ubuntu和NGINX环境下部署?安装Golang并在本地主机(例如localhost:9000)的特定端口上运行您的Golang应用。安装Nginx(https://w

api - Go 语言 HTTPS API

我在使用Plesk的Windows中有一个服务器。我有一个域(example.com),我还为这个域购买了SSL证书。我刚刚安装成功并在我的服务器中配置了域和ssl。所以现在我可以使用https://www.example.com加入我的网站了或example.com并将重定向到https://....直到一切正常。但是现在我用GoLang开发了一个API,不知为何无法在443端口开始监听。(我想也许是因为已经被使用了?)所以我改成了8081端口。现在,当我想向我的API发出请求时,我必须使用https://www.example.com:8081/api/v1/users例如。问题是

go - 如何在 go 中实现碎片化的配置文件验证

我尝试通过配置文件(yaml)配置CLI应用程序。该应用程序有几个“组件”(比方说持久层、集成网络服务器等)。这些组件在子包中进行管理,以保持代码整洁。这些组件的配置在它们的包中定义并在配置包中“合并”到表示配置文件的结构。将此代码视为演示实现:packagemainimport("errors""fmt"yaml"gopkg.in/yaml.v2")////Thiswouldbeinpackage'webserver'//OnlytheConfigpartisshown,therewouldbeaconstructorandtheimplementationof//thewebser

go - 通过 FTP 下载文件后将文件写入磁盘时出现问题

写入磁盘的文件是空的,但读取器不是。我不明白问题出在哪里。我尝试使用Buffer然后使用String()方法,我可以确认内容没问题,但是使用Read()该库的方法无效。我使用的库是github.com/jlaffaye/ftp//pullFileByFTPfuncpullFileByFTP(fileID,serverstring,portint64,username,password,path,filestring)error{//Connecttotheserverclient,err:=ftp.Dial(fmt.Sprintf("%s:%d",server,port))iferr!