文档首页 > 云加速 > HTTPS加速 > Keyless服务部署

Keyless服务部署

Keyless服务器简介

在HTTPS协议通信中,用户使用的浏览器会向服务器请求验证网站的HTTPS证书信息,服务器必须用与证书配对的私钥密码,解密浏览器发送的信息用于响应。由此,浏览器才能确定服务器的身份以及当前会话的安全。

在“云加速”业务中,HTTPS协议中的服务器便是“云加速”节点。客户可以选择上传私钥文件,由加速任务将私钥文件部署在节点上来完成HTTPS协议验证。对不便上传私钥文件的客户,Keyless服务器提供了免上传私钥的方案。

Keyless服务器的使用和工作过程如下:

  • Keyless服务器需要客户部署在公网可访问的IP上。
  • 客户在性能魔方网站上注册后,“云加速”节点会使用专有的协议与其建立安全加密的连接。
  • “云加速”节点作为代理服务器,将HTTPS协议的建立连接过程中使用私钥密码的中间步骤,实时传送到Keyless服务器上。
  • Keyless服务器使用本地托管的私钥文件处理请求后,又会将结果响应到“云加速”节点。
  • “云加速”节点使用Keyless服务器的处理结果响应用户浏览器,成功建立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命令。所以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服务器

启动运行Keyless服务器后,需要在性能魔方“个人中心”,“HTTPS加速”页面中添加为接入方案。

点击链接跳转到“个人中心”

控制台“个人中心”之“HTTPS加速”截图

配置成功后,可在“全站加速”中选择并开启HTTPS接入。

“全站加速”之“安全”截图

配置Keyless服务器

以系统服务方式启动

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服务器

卸载Keyless服务器的方式如下:

# for .deb bundle
dpkg -r keyless
# for .rpm bundle
rpm -e keyless

卸载前,请从性能魔方控制台关闭相关的云加速任务的HTTPS接入,并删除配置的Keyless注册信息。

联系我们

如有任何业务或技术咨询问题,请联系我们的客户服务:

QQ:4008202812

电话:400-820-2812

邮件:support@mmtrix.com