小编Bre*_*ett的帖子

如何为HTTPS Node.js服务器使用自签名证书?

我已经开始为API编写一个包装器,它要求所有请求都通过HTTPS.我在开发和测试时不是向实际的API发出请求,而是想在本地运行我自己的服务器来模拟响应.

我很困惑如何生成我需要创建HTTPS服务器并向其发送请求的证书.

我的服务器看起来像这样:

var options = {
  key: fs.readFileSync('./key.pem'),
  cert: fs.readFileSync('./cert.pem')
};

https.createServer(options, function(req, res) {
  res.writeHead(200);
  res.end('OK\n');
}).listen(8000);
Run Code Online (Sandbox Code Playgroud)

pem文件生成为:

openssl genrsa 1024 > key.pem
openssl req -x509 -new -key key.pem > cert.pem
Run Code Online (Sandbox Code Playgroud)

请求看起来像这样:

var options = {
  host: 'localhost',
  port: 8000,
  path: '/api/v1/test'
};

https.request(options, function(res) {
  res.pipe(process.stdout);
}).end();
Run Code Online (Sandbox Code Playgroud)

有了这个设置,我想Error: DEPTH_ZERO_SELF_SIGNED_CERT,我想我需要ca为请求添加一个选项.

所以我的问题是我应该如何生成以下内容:

  1. 服务器key
  2. 服务器cert
  3. ca为请求?

我已经阅读了一些关于使用openssl生成自签名证书的事情,但似乎无法绕过它并找出在我的节点代码中使用哪些密钥和证书.

更新

API提供要使用的CA证书而不是默认值.以下代码使用他们的证书,这是我想在本地重现.

var ca = fs.readFileSync('./certificate.pem');

var options = {
  host: 'example.com',
  path: …
Run Code Online (Sandbox Code Playgroud)

ssl https node.js

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

如何使用官方Docker映像启用MySQL二进制日志记录?

使用官方mysql映像启用二进制日志记录的最佳方法是什么?

我尝试使用mysql:5.7映像,在运行该命令时覆盖该命令,使其也通过启动选项以启用对mysqld的二进制日志记录(请参见下文)。这种方法的问题是mysql用户没有写/var/log/mysql目录的权限。

运行命令:

docker run -d \
  --name mysql \
  -v /var/lib/mysql:/var/lib/mysql \
  mysql:5.7 \
  mysqld \
  --datadir=/var/lib/mysql \
  --user=mysql \
  --server-id=1 \
  --log-bin=/var/log/mysql/mysql-bin.log \
  --binlog_do_db=test
Run Code Online (Sandbox Code Playgroud)

输出:

mysqld: File '/var/log/mysql/mysql-bin.index' not found (Errcode: 2 - No such file or directory)
Run Code Online (Sandbox Code Playgroud)

我应该分叉存储库并添加一个供/var/log/mysqlmysql用户写入并创建自定义映像的卷,还是有更好的方法呢?仅使用官方的mysql镜像可能吗?

mysql docker

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

如何将来自RabbitMQ的JSON消息转换为Java对象?

我有两个独立的Java应用程序,我需要使用spring-rabbit通过RabbitMQ发送消息.在作为生产者的应用程序中,我使用它JsonMessageConverter作为消息转换器,以便RabbitTemplate在将Java对象发送到队列之前将其转换为JSON消息.

在另一个应用程序中,我想将JSON消息转换回Java对象.我尝试使用SimpleMessageListenerContainer自定义MessageListener,我可以Message从队列中获取s,但我不知道将它们从JSON转换回Java对象.

JsonMessageConverter从RabbitMQ异步消费消息时如何使用?

java spring json rabbitmq spring-rabbit

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

标签 统计

docker ×1

https ×1

java ×1

json ×1

mysql ×1

node.js ×1

rabbitmq ×1

spring ×1

spring-rabbit ×1

ssl ×1