我希望使用 golang 在 rsyslog 中实现 TLS。我还找到了图书馆https://github.com/RackSec/.
func main() {
w, err := syslog.DialWithTLSCertPath("tcp+tls", "127.0.0.1:51430", syslog.LOG_ERR, "superbpatch123", "/path/to/client-key.pem")
if err != nil {
fmt.Println("unable to dial Rsyslog ,connection refused :> " + err.Error())
return
}
int1, err := w.Write([]byte("these are some bytesssssss"))
if err != nil {
log.Println("Unable to write the bytes to rsyslog ", err.Error())
return
}
fmt.Println("forwarded logs to rsyslog ", int1)
}
出现此错误x509:无法验证 127.0.0.1 的证书,因为它不包含任何 IP SAN
我的服务器配置看起来像
$AllowedSender TCP, 127.0.0.1
module(load="imtcp"
StreamDriver.Name="gtls"
StreamDriver.Mode="1"
StreamDriver.Authmode="anon"
)
input(type="imtcp" port="51430")
# make gtls driver the default and set certificate files
global(
DefaultNetstreamDriver="gtls"
DefaultNetstreamDriverCAFile="/path/to/ca.pem"
DefaultNetstreamDriverCertFile="/path/to/server-cert.pem"
DefaultNetstreamDriverKeyFile="/path/to/server-key.pem"
)