我是标题
  • 介绍
  • 产品使用指南
    • 新手入门
      • 神策分析是什么
      • 神策分析能做什么
      • 神策分析怎么解决问题
      • 神策分析的数据来源
    • 功能介绍
      • 基本概念
        • 行为分析常用名词
        • 神策分析相关名词
        • 基础指标配置说明
        • 属性筛选条件说明
      • 分析模块
        • 事件分析
        • Session 分析
        • 漏斗分析
        • 留存分析
        • 分布分析
        • 归因分析
        • 用户路径分析
        • 网页热力分析
        • APP 点击分析
        • 间隔分析
        • 用户属性分析
        • 搜索用户
        • 用户分群
          • 用户分群(1.14 版本)
          • 用户分群
          • 用户分群(1.13 之前版本)
        • 用户行为序列
        • 书签及数据概览
          • 数据概览(1.11 之前版本)
          • 概览分组
          • 渠道对比组件使用说明
          • 预置概览
        • 自定义查询
      • 辅助功能
        • 事件分类
        • 查询抽样
        • 权限管理
          • 角色权限与账号(1.14 版本)
        • 预警管理
        • 元数据管理
        • 可视化全埋点
        • 维度字典
        • 正则表达式
        • 推荐分享
        • 小版本升级
        • 掌上神策分析
  • 技术指南
    • 数据采集
      • 数据模型
      • 数据格式
      • 调试模式
        • 调试模式动态配置
      • 数据校验
      • 导入实时查看
        • 导入实时查看(新版本)
        • 导入实时查看(老版本)
      • 埋点管理
      • 多项目
      • 如何准确的标识用户
      • 新增用户及首日首次标记
    • 快速接入指南
      • 接入前准备(全员阅读)
      • 如何准确的标识用户 (全员阅读)
      • 事件设计 (需求方阅读)
      • SDK 采集数据 (开发必读)
        • JavaScript 快速使用
        • 微信小程序快速使用
        • Android 快速使用
        • iOS 快速使用
        • Java 快速使用
      • 数据校验(测试必读)
    • 客户端 SDK
      • C++ SDK
      • 微信小程序 SDK
        • 微信小程序 SDK 历史版
        • 微信小程序 SDK 标准版
        • 微信小程序 SDK 插件版
        • 微信小程序 SDK 自定义全埋点版
      • 支付宝小程序 SDK
      • 百度小程序 SDK
      • JavaScript SDK
        • 常见问题
        • 全埋点(AutoTrack)
        • 点击图(HeatMap)
        • 单页面
        • 关闭页面发数据
      • Android SDK
        • 常见问题
        • 全埋点(AutoTrack)
        • 点击图(HeatMap)
      • iOS SDK
        • 常见问题
        • 全埋点(AutoTrack)
        • 点击图(HeatMap)
      • 打通 App 与 H5
      • App 第三方框架
        • React Native(Android & iOS)
        • Flutter(Android & iOS)
        • Weex(iOS)
        • Weex(Android)
        • 第三方 H5 页面嵌入 js(iOS)
        • 第三方 H5 页面嵌入 js(Android)
      • APICloud SDK
    • 服务端 SDK
      • C SDK
        • C SDK Demo
      • CSharp SDK
      • Java SDK
        • Java SDK Demo
      • Python SDK
      • PHP SDK
      • Ruby SDK
      • Golang SDK
      • Node SDK
    • 公共属性
    • 渠道追踪
      • App 渠道追踪
      • Web 渠道追踪
      • 小程序渠道追踪
      • 渠道对接
      • 渠道链接管理
    • 数据导入
      • BatchImporter
      • LogAgent
        • LogAgent 场景使用示例
      • FormatImporter
      • HdfsImporter
      • 数据导入常见问题
    • 数据导出
      • 查询 API
      • 订阅实时数据
      • 使用 JDBC 进行数据访问
      • 数据迁移
    • 辅助工具
      • 数据清理工具使用说明
      • 多项目管理工具使用说明
      • 元数据创建工具使用说明
      • 环境检测工具使用说明
    • 高级功能
      • 数据接入 API
      • App 消息推送
      • 虚拟属性和维度表
      • 数据预处理模块
      • 服务转发配置
      • 使用 HTTPS 的数据接入
      • API
        • 查询 API
        • 功能 API
          • 分群 API(1.12 及之前版本)
          • 分群 API(1.13 版本)
          • 分群 API(1.14 版本)
          • 埋点统计 API(1.11 及之前版本)
          • 埋点统计 API(1.12 及之后版本)
      • 第三方登录
      • 数据归档
  • 最佳实践
    • 功能应用示例
      • 事件分析
      • 漏斗分析
      • 留存分析
      • 分布分析
      • 间隔分析
      • 用户分群
      • 自定义查询
      • 用户行为序列
    • 复杂分析场景
      • 定位商品销量变化原因
  • 常见问题
  • 产品更新日志
Powered by GitBook
On this page
  • 1. Cloud 版使用 HTTPS 的数据接入方案
  • 2. 私有部署版使用 HTTPS 的数据接入方案
  • 2.1 在进行服务转发时启用 HTTPS
  • 2.2 直接在神策服务的 Nginx 上配置 HTTPS

Was this helpful?

  1. 技术指南
  2. 高级功能

使用 HTTPS 的数据接入

神策分析致力于帮助客户搭建开放的数据平台,便于客户更深入的利用数据。本节文档涉及较多技术细节,适用于对相关功能有经验的用户参考。如果对文档内容有疑惑,请咨询您的数据咨询顾问获取一对一的协助。

默认情况下,数据接入 API 使用的是 HTTP 协议,若希望进一步提高数据传输层的安全性,或是需要在 HTTPS 站点上部署神策分析 JavaScript SDK 正常发送数据,可以参考本文档配置 HTTPS 接入。

1. Cloud 版使用 HTTPS 的数据接入方案

神策分析 Cloud 版已经提供 HTTPS 数据接入地址。

例如 HTTP 数据接入地址为:

http://test.cloud.sensorsdata.cn:8106/sa?token=xxx

它对应的 HTTPS 数据接入地址使用 4006 端口:

https://test.cloud.sensorsdata.cn:4006/sa?token=xxx

即 scheme 由 HTTP 改为 HTTPS,端口由 8106 改为 4006。

或使用数据接收专用域名:

https://test.datasink.sensorsdata.cn/sa?token=xxx

使用 datasink 域名可以不显式指定端口号,即 443 为数据接收服务端口。

2. 私有部署版使用 HTTPS 的数据接入方案

注意事项:

  • 使用 HTTPS 加密传输需要提供 SSL 证书,神策不提供任何 SSL 证书。该证书可以通过多种渠道获取,若使用自签证书请确保客户端信任该证书;

  • 使用 HTTPS 请关注证书的过期时间,若证书过期可能会导致数据无法发送成功;

2.1 在进行服务转发时启用 HTTPS

2.2 直接在神策服务的 Nginx 上配置 HTTPS

(一般不建议采用此方案)

对于单机版,这里也提供直接在神策分析的 Nginx 上配置 HTTPS 的方案,该方案需要将 SSL 私钥放置于我们的机器上,且加密算法的选择受限于使用的 Nginx 二进制编译时的 OpenSSL 版本。请注意:

  • HTTPS 的 TLS/SSL 层需要消耗额外 CPU、带宽资源,一般只用于测试或者小流量的应用场景;

在神策分析的 Nginx 上配置 HTTPS 可以参考以下步骤:

  1. 登录部署神策分析机器,切换到 root 用户;

    sudo su - root
  2. 切换到部署 Nginx 的目录:

    cd /home/sa_cluster/sa/nginx
  3. 创建证书目录和自定义配置目录:

    mkdir -p /home/sa_cluster/sa/nginx/cert
    mkdir -p /home/sa_cluster/sa/nginx/conf.d

    Nginx 启动时会加载 conf.d 下的所有配置文件,文件内应该只包含 server 代码块;

  4. 将证书公钥和私钥放置到 cert 目录下;

  5. 在 conf.d 中创建 https.conf 内容如下:

    server {
        listen       4006 ssl;                      # 端口号,可自定义
        server_name  cloud_test.sensorsdata.cn;     # 域名
    
        access_log off;
    
        ssl on;                                     # 开启 ssl
        # 配置 ssl 证书信任链
        ssl_certificate /home/sa_cluster/sa/nginx/cert/fullchain.pem;
        # 配置 ssl 私钥
        ssl_certificate_key /home/sa_cluster/sa/nginx/cert/privkey.pem;
    
        # 其他 ssl 参数可以参考 https://mozilla.github.io/server-side-tls/ssl-config-generator/ ,例如:
        # ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
        # ssl_ciphers 'ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:DHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES128-SHA256:ECDHE-ECDSA-AES128-SHA:ECDHE-RSA-AES256-SHA384:ECDHE-RSA-AES128-SHA:ECDHE-ECDSA-AES256-SHA384:ECDHE-ECDSA-AES256-SHA:ECDHE-RSA-AES256-SHA:DHE-RSA-AES128-SHA256:DHE-RSA-AES128-SHA:DHE-RSA-AES256-SHA256:DHE-RSA-AES256-SHA:ECDHE-ECDSA-DES-CBC3-SHA:ECDHE-RSA-DES-CBC3-SHA:EDH-RSA-DES-CBC3-SHA:AES128-GCM-SHA256:AES256-GCM-SHA384:AES128-SHA256:AES256-SHA256:AES128-SHA:AES256-SHA:DES-CBC3-SHA:!DSS';
        # ssl_prefer_server_ciphers on;
        # ssl_session_timeout 5m;
        # ssl_session_cache shared:SSL:50m;
        # 以上 ssl 配置可视情况添加、修改
    
        location / {
            proxy_set_header X-Real-IP $remote_addr;
            proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
            # 单机版
            proxy_pass http://127.0.0.1:8106;
            # 集群版
            # proxy_pass http://127.0.0.1:8106;
        }
    }
  6. 在 Nginx 目录下执行如下命令测试配置是否正确:

    sbin/nginx -t

    如果出现如下提示说明配置正确:

    nginx: the configuration file ./conf/nginx.conf syntax is ok
    nginx: configuration file ./conf/nginx.conf test is successful

    如果失败需要修改配置再重新测试配置;

  7. 配置测试并检查无误后,在 Nginx 目录下执行如下命令使 Nginx 重新加载配置:

    sbin/nginx -s reload
Previous服务转发配置NextAPI

Last updated 6 years ago

Was this helpful?

强烈建议采用这种方式,具体请参考 2.1部分:如何进行转发配置。

其他 SSL 配置可以参考:

服务转发配置
https://mozilla.github.io/server-side-tls/ssl-config-generator/