小编And*_*alu的帖子

Go Gin框架登录JSON

我正在使用 Go Gin 设置一个小型 API,但是我无法说服记录器输出 JSON。默认情况下它是一个键/值字符串,但我需要它作为 json。

我怎样才能做到这一点?我觉得它应该很容易支持,但我一直在努力使用自定义格式化功能,我需要自己考虑各种参数。

或者,我也使用 uber/zap 记录器手动记录,但我还没有找到用我的记录器替换 gin 记录器的方法。

任何指点都将不胜感激,因为 gin 的 github 上的文档并没有太大帮助。

谢谢!

编辑:澄清一下,添加中间件有助于记录请求,但我正在寻找为 Gin 设置 JSON 日志记录的单点(例如:包括与请求无关的日志,例如框架内部的调试/信息日志)

go go-gin

10
推荐指数
2
解决办法
2万
查看次数

如何使用Nginx Ingress正确设置自定义标头?

我有以下配置:

守护进程:

apiVersion: extensions/v1beta1
kind: DaemonSet
metadata:
  name: nginx-ingress
  namespace: nginx-ingress
spec:
  selector:
    matchLabels:
      app: nginx-ingress
  template:
    metadata:
      labels:
        app: nginx-ingress
    spec:
      serviceAccountName: nginx-ingress
      containers:
      - image: nginx/nginx-ingress:1.4.2-alpine
        imagePullPolicy: Always
        name: nginx-ingress
        ports:
        - name: http
          containerPort: 80
          hostPort: 80
        - name: https
          containerPort: 443
          hostPort: 443
        env:
        - name: POD_NAMESPACE
          valueFrom:
            fieldRef:
              fieldPath: metadata.namespace
        - name: POD_NAME
          valueFrom:
            fieldRef:
              fieldPath: metadata.name
        args:
          - -nginx-configmaps=$(POD_NAMESPACE)/nginx-config
          - -default-server-tls-secret=$(POD_NAMESPACE)/default-server-secret 
Run Code Online (Sandbox Code Playgroud)

主要配置:

apiVersion: v1
kind: ConfigMap
metadata:
  name: nginx-config
  namespace: nginx-ingress
data:
  proxy-set-headers: "nginx-ingress/custom-headers" …
Run Code Online (Sandbox Code Playgroud)

kubernetes nginx-ingress

3
推荐指数
4
解决办法
5240
查看次数

在 Mac 上使用 LibreSSL 生成 Ed25519 密钥/对:缺少算法

我正在尝试使用生成 Ed25519 密钥/对

openssl genpkey -algorithm Ed25519 -out ed25519key.pem   
Run Code Online (Sandbox Code Playgroud)

然而,在我的 MacOS 上我得到了这个:

Algorithm Ed25519 not found
Run Code Online (Sandbox Code Playgroud)

我正在运行 OpenSSL / LibreSSL 3.2.5,但我不知道为什么这个算法不可用。

我缺少/需要安装什么东西吗?

macos openssl jwt

3
推荐指数
1
解决办法
3372
查看次数

无法在 Angular 4 中通过 HTTP 发送 POST 请求

我正在后端通过 REST api 构建一个小的 Angular 前端支持,但我遇到了一个非常奇怪的问题:执行 http.post(url, data, params) 结果什么也没有发生(没有任何迹象表明请求曾经命中webserver,在 Chrome 开发者工具中绝对没有记录请求,这与 this.http.get() 请求相反,后者适用于同一服务器上的 URL)。

export class RestComponent {

    constructor ( private http: Http ) {}
    sendStuff() {
        let headers = new Headers({ 'Content-Type': 'application/json' });
        let options = new RequestOptions({ headers: headers });

        this.http.post('http://localhost:3021/api/data', {'data': 3}, options)
            .catch(this.handleError);
    }
}
Run Code Online (Sandbox Code Playgroud)
  • 在服务器上启用了 CORS
  • URL 上的 this.http.get 按预期工作
  • 服务器日志中没有证据表明请求曾被发送
  • Chrome 开发人员工具中没有证据表明请求已发送(没有此类发布请求)
  • 在 .post() 调用之前在方法中记录内容显示一切都如预期(标题、数据等)
  • 在 Postman 作品中复制请求(相同的标头和数据)
  • 也尝试对数据进行字符串化
  • 错误处理程序做了一些简单的日志记录,但它没有被触发

我觉得很愚蠢,因为它一定是相当明显但它逃脱了我的东西。我创建了一个简单的组件,它只有两种方法,一种通过 post 发送硬编码数据,另一种通过 get 获取硬编码 json,第二个有效,但第一个无效。

将不胜感激任何指针。

谢谢!

javascript rest angular

1
推荐指数
1
解决办法
3354
查看次数

使用 awk 打印多列但用分号连接

我使用 awk 来过滤上一个命令 (docker image ls) 返回的输出,该命令是制表符分隔的列。

我想打印前两列,中间有一个 : 。

我尝试过的:

docker image ls | awk '{ print $1\:$2}'

但无论我如何尝试打印 $1 和 $2 我仍然得到

awk: syntax error at source line 1
 context is
    { print $1 >>>  \ <<< \ $2}
awk: illegal statement at source line 1
Run Code Online (Sandbox Code Playgroud)

如何在输出中使用 : ?

谢谢!

awk

1
推荐指数
1
解决办法
2174
查看次数

通过SSH拒绝root登录

我正在尝试在专用服务器上设置SSH身份验证,但是即使我已经按照大多数教程进行操作(归结为:生成rsa密钥对,将猫公钥转换为服务器authorized_keys,chmod 600精化密钥,chmod 700 .ssh文件夹,设置ssh_config并转到)。

当前,这是我的设置(ssh_config):

Host *
PasswordAuthentication yes
PermitRootLogin without-password
StrictModes no
#   ForwardAgent no
#   ForwardX11 no
#   ForwardX11Trusted yes
#   RhostsRSAAuthentication no
#   RSAAuthentication yes
#   PasswordAuthentication yes
#   HostbasedAuthentication no
#   GSSAPIAuthentication no
#   GSSAPIDelegateCredentials no
#   GSSAPIKeyExchange no
#   GSSAPITrustDNS no
#   BatchMode no
#   CheckHostIP yes
#   AddressFamily any
#   ConnectTimeout 0
#   StrictHostKeyChecking ask
#   IdentityFile ~/.ssh/identity
#   IdentityFile ~/.ssh/id_rsa
#   IdentityFile ~/.ssh/id_dsa
#   IdentityFile ~/.ssh/id_ecdsa
#   IdentityFile ~/.ssh/id_ed25519
#   Port 22
# …
Run Code Online (Sandbox Code Playgroud)

linux ssh sshd

0
推荐指数
1
解决办法
3403
查看次数

标签 统计

angular ×1

awk ×1

go ×1

go-gin ×1

javascript ×1

jwt ×1

kubernetes ×1

linux ×1

macos ×1

nginx-ingress ×1

openssl ×1

rest ×1

ssh ×1

sshd ×1