Proxy Service Setup

This page explains how to set up a proxy service with NGINX or Apache to relay Conviva sensor telemetry through a trusted domain that bypasses ad blockers and corporate restrictions.

Updated 2026-07-02 proxy-setup

Proxy Service Setup

In today’s data-driven world, gathering reliable telemetry data about user behavior, content performance, and network conditions is vital for optimizing video experiences. However, domain restrictions (e.g., from ad blockers) and corporate security protocols can sometimes prevent the necessary signals from reaching analytics services such as Conviva.

Setting up a dedicated proxy server is one way to ensure critical telemetry data can still be collected and sent securely. By routing this data through a trusted intermediate domain—one not blocked by filters—organizations can gather uninterrupted insights without compromising security or maintaining multiple, ad hoc workarounds. This proxy server simply relays the telemetry data from your video player sensor to the correct Conviva endpoints, while also giving your IT team control over data flow within the corporate network.

Because the proxy configurations only require standard open-source tools (such as NGINX or Apache) and do not involve specialized or proprietary software, the setup is relatively straightforward. Even simpler, popular cloud solutions like AWS offer built-in features (e.g., application load balancers) that make it easy to incorporate SSL certificates and allow both IPv4 and IPv6 traffic with minimal overhead. With a few DNS changes and some quick server configurations, you can ensure high-quality data collection despite endpoint restrictions—helping you unlock better analytics on viewer engagement, streaming performance, and other valuable metrics.

In the below section, we will provide step-by step instruction on how to set up a proxy service with two popular open source products – Nginx and Apache HTTP Server.

Proxy Service Setup

Setting a proxy service can help manage the critical data flows between video players and the Conviva data gateway, such as sending telemetry data from a Conviva sensor in a video player to an intermediate domain proxy server which relays the data to the Conviva Pulse gateway, bypassing domain restrictions imposed by ad blockers.

Conviva supports common open source NGINX and Apache proxy servers, which can be configured as a middle layer that receives redirected telemetry data from the video player sensor, using a proxy server domain not flagged by ad blockers, (proxy.<customer_domain>), and then forwards the received data to the actual Conviva domain (<customer_key>.cws.conviva.com).

Prerequisites

To getting started with a proxy server setup, make sure you have:

  • Domains used in the proxy service, for example <proxy_domain> as proxy.lpbhs.com

    • ipv4.<proxy_domain> - ipv4.proxy.lpbhs.com

    • ipv6.<proxy_domain> - ipv6.proxy.lphbs.com

  • SSL certificate for the proxy domain

    Single SAN cert with both proxy_domain (proxy.lpbhs.com) and *.<proxy_domain> (*.proxy.lpbhs.com) should work.

  • Access to create DNS records for the above domains.

  • IPv6 enabled servers/cloud instances.

  • Conviva customer key and endpoints for your c3.

    • Customer_key - xxxxxxxxxxxxxxxxxx

    • Default endpoint - <customer_key>.cws.conviva.com - xxxxxxxxxxxxxxxxxx.cws.conviva.com

    • ipv4 endpoint - <customer_key>.ipv4.cws.conviva.com - xxxxxxxxxxxxxxxxxx.ipv4.cws.conviva.com

    • ipv6 endpoint - <customer_key>.ipv6.cws.conviva.com - xxxxxxxxxxxxxxxxxx.ipv6.cws.conviva.com

The below setup uses AWS ALB (Application Load Balancer) with SSL termination at the Load Balancer. To enable SSL on the instances, perform the additional webserver configurations.

NGINX Proxy Server Setup

  1. Ensure IPv6 is enabled on your server.

    • Verify your server has an IPv6 address assigned:

      ip -6 addr
    • Ensure your firewall allows IPv6 traffic (e.g., using ufw, iptables, firewalld or security group).

  2. Install NGINX using your package manager.

    • CentOS

      sudo yum repolist
      sudo yum install nginx
    • Ubuntu:

      sudo apt update
      sudo apt install nginx
  3. Configure the Reverse Proxy

    1. Create a new NGINX configuration file:

      sudo vi /etc/nginx/sites-available/proxy.conf
    2. Add the following configuration to forward traffic to the CWS.

      Replace <proxy_domain> and <customer_key> with the values selected as Prerequisites.

      server {
          listen 80;
          listen [::]:80;
          server_name <proxy_domain>;
          
          location / {
              proxy_pass https://<customer_key>.cws.conviva.com/;
          }
      }

      server {
          listen 80;
          listen [::]:80;
          server_name ipv4.<proxy_domain>;
          location / {
              proxy_pass https://<customer_key>.ipv4.cws.conviva.com/;
          }
      }

      server {
          listen 80;
          listen [::]:80;
          server_name ipv6.<proxy_domain>;
          location / {
              proxy_pass https://<customer_key>.ipv6.cws.conviva.com/;
          }
      }
    3. Enable the configuration.

      sudo ln -s /etc/nginx/sites-available/proxy.conf /etc/nginx/sites-enabled/
    4. Test and reload NGINX.

      sudo nginx -t
      sudo systemctl reload nginx

Apache Proxy Server Setup

  1. Ensure IPv6 is enabled on your server.

    • Verify your server has an IPv6 address assigned.

      ip -6 addr
    • Ensure your firewall allows IPv6 traffic (e.g., using ufw, iptables, firewalld or security group).

  2. Install Apache on your server.

    • CentOS

      sudo yum repolist
      sudo yum install apache2
    • Ubuntu

      sudo apt update
      sudo apt install apache2
  3. Enable the required Apache modules.

    sudo a2enmod proxy
    sudo a2enmod proxy_http
    sudo a2enmod ssl
    sudo systemctl restart apache2
  4. Configure the Reverse Proxy.

    1. Create a new virtual host file.

      sudo vi /etc/apache2/sites-available/proxy.conf
    2. Add the following configuration to forward traffic to the CWS.

      Replace <proxy_domain> and <customer_key> with the values selected in Prerequisites.

      <VirtualHost *:80 [::]:80>
          ServerName <proxy_domain>
          ErrorLog ${APACHE_LOG_DIR}/error.log
          CustomLog ${APACHE_LOG_DIR}/access.log combined

          SSLProxyEngine On
          SSLProxyVerify none
          SSLProxyCheckPeerCN Off
          SSLProxyCheckPeerName Off
          ProxyRequests Off
          ProxyPreserveHost On

          ProxyPass / https://<customer_key>.cws.conviva.com/
          ProxyPassReverse / https://<customer_key>.cws.conviva.com/
      </VirtualHost>

      <VirtualHost *:80 [::]:80>
          ServerName ipv4.<proxy_domain>
          ErrorLog ${APACHE_LOG_DIR}/error.log
          CustomLog ${APACHE_LOG_DIR}/access.log combined

          SSLProxyEngine On
          SSLProxyVerify none
          SSLProxyCheckPeerCN Off
          SSLProxyCheckPeerName Off
          ProxyRequests Off
          ProxyPreserveHost On

          ProxyPass / https://<customer_key>.ipv4.cws.conviva.com/
          ProxyPassReverse / https://<customer_key>.ipv4.cws.conviva.com/
      </VirtualHost>

      <VirtualHost *:80 [::]:80>
          ServerName ipv6.<proxy_domain>
          ErrorLog ${APACHE_LOG_DIR}/error.log
          CustomLog ${APACHE_LOG_DIR}/access.log combined

          SSLProxyEngine On
          SSLProxyVerify none
          SSLProxyCheckPeerCN Off
          SSLProxyCheckPeerName Off
          ProxyRequests Off
          ProxyPreserveHost On

          ProxyPass / https://<customer_key>.ipv6.cws.conviva.com/
          ProxyPassReverse / https://<customer_key>.ipv6.cws.conviva.com/
      </VirtualHost>
  5. Enable the configuration and reload Apache.

    sudo a2ensite proxy.conf
    sudo systemctl reload apache2

Load Balancer

Create a load balancer with IPv4/v6 support.

  1. Create a Dual-Stack Load Balancer to support both IPv4 and IPv6.

  2. Listen on port 443 and forward to port 80 on backend instances.

  3. Configure SSL certificate based on the Prerequisites steps.

  4. Take note of the Load Balancer’s DNS record.

DNS Records

Add following DNS records.

  • <proxy_domain> CNAME <Load Balancer DNS>

  • ipv4.<proxy_domain> CNAME <Load Balancer DNS>

  • ipv6.<proxy_domain> CNAME <Load Balancer DNS>