skywalking-java/docs/cn/TLS-CN.md

44 lines
2.0 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# 支持传输层安全TLS(Transport Layer Security)
在通过Internet传输数据时传输层安全TLS是一种非常常见的安全方式
用户可能会在一些场景下遇到这样的情形:
>被监控(部署探针)的应用中部署在同一个私有云(VPC)区域当中,与此同时, SkyWalking 的服务端部署在另一个私有云(VPC)区域中
>
> 在这种情况下,就非常有必要做一些传输安全认证.
## 配置要求
开启 **服务直连** 功能, 详情参考 [文档](Direct-uplink-CN.md).
由于通过公网直接上报数据,由于安全问题,名称(naming)服务机制并不适合这种情况.所以我们在HTTP服务的名称服务中不支持TLS。
## 版本支持
5.0.0-beta +
## 认证模式
仅仅支持 **非双向认证**.
- 如果你比较熟悉如何生存 key 文件,可以使用 [脚本](../../tools/TLS/tls_key_generate.sh) .
- 在客户端使用 `ca.crt`文件
- 在服务端使用 `server.crt``server.pem`.
## 配置并开启 TLS
### 探针配置
-`ca.crt` 放置在探针文件夹的 `/ca` 文件夹中. 需要注意的是,发行的版本中不包含`/ca`文件夹,需要自行创建.
如果探针检测到文件 `/ca/ca.crt` ,会自动开启 TLS.
### Collector 配置
`agent_gRPC/gRPC` 模块支持 TLS. 并且现在只有这个模块支持.
- 将`application.yml`中的 `ssl_cert_chain_file``ssl_private_key_file` 配置打开.
- `ssl_cert_chain_file` 配置为 `server.crt`的绝对路径.
- `ssl_private_key_file` 配置为 `server.pem`的绝对路径.
## 避免端口共享
在大多数情况下,
在大多数情况下,我们建议在`agent_gRPC / gRPC`和`remote / gRPC`模块中共享所有gRPC服务的端口。
但是,当你在`agent_gRPC / gRPC`模块中打开TLS时不要这样做原因就是无论是否开始TLS,你都无法监听端口。
解决方案, 换一个端口 `remote/gRPC/port`.
## 其他端口监听如何操作?
请使用其他安全方式确保不能访问 VPC 区域外的其他端口,例如防火墙,代理等。