在HTTPS协议通信中,用户使用的浏览器会向服务器请求验证网站的HTTPS证书信息,服务器必须用与证书配对的私钥密码,解密浏览器发送的信息用于响应。由此,浏览器才能确定服务器的身份以及当前会话的安全。
在“云加速”业务中,HTTPS协议中的服务器便是“云加速”节点。客户可以选择上传私钥文件,由加速任务将私钥文件部署在节点上来完成HTTPS协议验证。对不便上传私钥文件的客户,Keyless服务器提供了免上传私钥的方案。
Keyless服务器的使用和工作过程如下:
性能魔方目前提供.rpm和.deb两种格式的预编译Keyless服务器安装包:
下载安装包后,可分别通过以下命令安装:
# for .deb bundle
dpkg -i mmtrix_keyless.deb
# for .rpm bundle
rpm -ivh mmtrix_keyless.rpm
安装Keyless服务器,会添加名为keyless
的系统服务和keyless
命令。所以Keyless服务器有这两种方式运行:
service keyless start
Keyless服务器默认启动后的端口为2407。启动服务前,需要将加速网站的私钥文件放置在etc/keyless/keys
目录。
私钥文件必须以“.key”作为后缀名,并采用PEM编码格式。
keyless --server-cert=/etc/keyless/server_cert.crt \
--server-key=/etc/keyless/server_cert.key \
--ca-file=/etc/keyless/keyless_cacert.pem \
--private-key-directory=<含有私钥文件的目录路径>
Keyless服务器默认启动后的端口为2407。
参数--server-cert
,--server-key
,--ca-file
用于指定与“云加速”节点建立安全连接所需的密钥文件,请使用安装包安装的版本。
参数--private-key-directory
用于指定含有客户加速网站的私钥文件的目录路径,如客户将www.example.com
接入“云加速”任务并为其开启HTTPS支持,请仅将该网站的私钥证书放在此参数指定目录下。
私钥文件必须以“.key”作为后缀名,并采用PEM编码格式。
启动运行Keyless服务器后,需要在性能魔方“个人中心”,“HTTPS加速”页面中添加为接入方案。
配置成功后,可在“全站加速”中选择并开启HTTPS接入。
Keyless系统服务会读取/etc/default/keyless
或/etc/sysconfig/keyless
配置文件中的配置项,默认设置和说明如下:
###############################
# Default settings for Keyless
###############################
# The TCP port on which to listen for connections.
# These connections must be TLSv1.2. Defaults to 2407.
# 绑定端口号,默认值2407
#PORT=2407
# The IP address of the interface to bind to.
# If missing binds to all available interfaces.
# 绑定IP,默认值0.0.0.0,即绑定到所有网卡和可用IP
#IP=0.0.0.0
# Path to a PEM-encoded file containing the CA certificate
# used to sign client certificates presented on connection.
# CA证书路径,CA证书用于认证与mmtrix服务器的连接,请勿修改
#CA_FILE=/etc/keyless/keyless_cacert.pem
# Path to PEM-encoded files containing the certificate and
# private key that are used when a connection is made to the
# server. These must be signed by an authority that the client
# side recognizes
# Keyless服务器证书和私钥文件,用于认证与mmtrix服务器的连接,请勿修改
#SERVER_CERT=/etc/keyless/server_cert.crt
#SERVER_KEY=/etc/keyless/server_cert.key
# An OpenSSL list of ciphers that the TLS server will accept
# for connections.
# 所支持的加密算法列表,请谨慎修改
#CIPHER_LIST='ECDHE-RSA-AES128-SHA256:AES128-GCM-SHA256:RC4:HIGH:!MD5:!aNULL:!EDH'
# Path to a directory containing private keys which the keyserver
# provides decoding service against. The key files must end with
# ".key" and be PEM-encoded. There should be no trailing / on
# the path.
# 用户私钥目录,支持多个私钥的认证,请确保Keyless进程对目录的访问权限
#PRIVATE_KEY_DIR=/etc/keyless/keys
# The number of worker threads to start. Each worker
# thread will handle a single connection from a KSSL client.
# Defaults to 1.
# 工作线程个数,请根据您的机器配置调整
#NUM_WORKERS=4
# user:group to switch to. Can be in the form user:group
# or just user (in which case user:user is implied)
# 服务进程的用户和用户组,请确保其对以上目录的访问权限
#USER=keyless
#GROUP=keyless
修改以上配置后,请重启Keyless系统服务。
keyless
命令的选项和说明如下:
--port (可选) Keyless服务器所监听的端口号,默认端口2047
--ip (可选) Keyless服务器所绑定的IP地址,默认绑定所有IP地址
--ca-file CA证书用于认证与mmtrix服务器的连接,请谨慎设置
--server-cert 服务端的证书文件路径
--server-key 服务端的私钥文件路径
--private-key-directory 加速网站的私钥文件目录
--silent (可选)取消打印输出日志
--verbose (可选)输出详细信息
--num-workers (可选)工作线程数量,默认是1
--pid-file (可选)保存进程PID的路径
--test (可选)检查配置文件是否正确
--user (可选)转到运行程序的用户和组
--daemon (可选)fork主线程并且分离,用于后台运行
--syslog (可选)将log发送到syslog
使用keyless
命令运行的例子如下:
keyless --port=2412 --server-cert=server-cert/cert.pem \
--server-key=server-cert/key.pem \
--private-key-directory=keys \
--ca-file=CA/cacert.pem \
--pid-file=keyless.pid \
--num-workers=4 --daemon --silent \
--user nobody:nobody
卸载Keyless服务器的方式如下:
# for .deb bundle
dpkg -r keyless
# for .rpm bundle
rpm -e keyless
卸载前,请从性能魔方控制台关闭相关的云加速任务的HTTPS接入,并删除配置的Keyless注册信息。
如有任何业务或技术咨询问题,请联系我们的客户服务:
QQ:4008202812
电话:400-820-2812
邮件:support@mmtrix.com