如何从 flynn 集群获取 TLS pin?
How to obtain TLS pin from flynn cluster?
添加新集群时,必须使用以下命令:
flynn cluster add -p <tls pin> <cluster name> <controller domain> <controller key>
你从哪里获得<tls pin>
?
如果您使用 Flynn CLI 设置客户端计算机,您可以在该计算机上的 ~/.flynnrc
文件中找到 TLS pin。它看起来像这样:
[[cluster]]
Name = "flynn-cluster"
Key = "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
TLSPin = "------> THE TLS PIN <-------"
ControllerURL = "https://controller.xxxx.flynnhub.com"
GitURL = "https://git.xxxx.flynnhub.com"
您可以使用以下命令生成 TLS Pin:
openssl s_client -connect controller.$CLUSTER_DOMAIN:443 \
-servername controller.$CLUSTER_DOMAIN 2>/dev/null </dev/null \
| sed -ne '/-BEGIN CERTIFICATE-/,/-END CERTIFICATE-/p' \
| openssl x509 -inform PEM -outform DER \
| openssl dgst -binary -sha256 \
| openssl base64
(一定要先设置CLUSTER_DOMAIN
,例如CLUSTER_DOMAIN=xxxx.flynnhub.com
)
jvatic 的回答对我来说没有使用自签名证书,所以我通过登录 flynn 节点获得了 TLS Pin,运行 这个 bash 上面的单行怪兽:
flynn-host inspect $(flynn-host ps | grep router | head -n1 | cut -f1 -d ' ') | \
sed -ne '/-BEGIN CERTIFICATE-/,/-END CERTIFICATE-/p' | \
sed -e 's/ENV\[TLSCERT\]\s\+//g' | \
openssl x509 -inform PEM -outform DER | \
openssl dgst -binary -sha256 | openssl base64
添加新集群时,必须使用以下命令:
flynn cluster add -p <tls pin> <cluster name> <controller domain> <controller key>
你从哪里获得<tls pin>
?
如果您使用 Flynn CLI 设置客户端计算机,您可以在该计算机上的 ~/.flynnrc
文件中找到 TLS pin。它看起来像这样:
[[cluster]]
Name = "flynn-cluster"
Key = "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
TLSPin = "------> THE TLS PIN <-------"
ControllerURL = "https://controller.xxxx.flynnhub.com"
GitURL = "https://git.xxxx.flynnhub.com"
您可以使用以下命令生成 TLS Pin:
openssl s_client -connect controller.$CLUSTER_DOMAIN:443 \
-servername controller.$CLUSTER_DOMAIN 2>/dev/null </dev/null \
| sed -ne '/-BEGIN CERTIFICATE-/,/-END CERTIFICATE-/p' \
| openssl x509 -inform PEM -outform DER \
| openssl dgst -binary -sha256 \
| openssl base64
(一定要先设置CLUSTER_DOMAIN
,例如CLUSTER_DOMAIN=xxxx.flynnhub.com
)
jvatic 的回答对我来说没有使用自签名证书,所以我通过登录 flynn 节点获得了 TLS Pin,运行 这个 bash 上面的单行怪兽:
flynn-host inspect $(flynn-host ps | grep router | head -n1 | cut -f1 -d ' ') | \
sed -ne '/-BEGIN CERTIFICATE-/,/-END CERTIFICATE-/p' | \
sed -e 's/ENV\[TLSCERT\]\s\+//g' | \
openssl x509 -inform PEM -outform DER | \
openssl dgst -binary -sha256 | openssl base64