Skip to content

hamirmahal/nginx-proxy

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

33 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Nginx Proxy for Mixpanel

An example nginx config that serves as a proxy to Mixpanel's Ingestion API and JavaScript library endpoints. To learn more, visit our docs on Tracking via Proxy.

Installation

There are a few ways you can use this repo to deploy a server that can be use to proxy Mixpanel API requests:

  1. one-click deploy to your cloud provider
  2. build a docker image and run it on your own servers
  3. copy and paste the nginx settings to your existing nginx config file

Option 1: One-Click Deploy

click on a button below to deploy to your favorite cloud provider:

Google Cloud Btn Railway Btn Render Btn

Option 2: Docker Image

Assuming you have Docker installed on your system, you can do the following:

  1. Clone the repo git clone https://github.com/mixpanel/tracking-proxy
  2. Build the Docker image: docker build -t mixpanel-proxy .
  3. Run a container using the image: docker run --name my-tracking-proxy -d -p 8080:80 mixpanel-proxy
  4. Visit http://localhost:8080

You should see:

{
  "error": "Welcome. Get started with our API by visiting https://developer.mixpanel.com/"
}

This is same response you would get from visiting https://api.mixpanel.com/ (which means your proxy is working as expected).

You can also verify the nginx config on the command line:

nginx -t -c /etc/nginx/nginx.conf

For production, you would deploy this docker image to whatever servers you run your production services on.

Option 3: Add locations to your existing Nginx config

If you already have servers running nginx, you can copy and paste the locations from the nginx.conf file in this repo and adjust the locations to match your preference.

EU Residency

This proxy server resolves requests to api.mixpanel.com, which points to Mixpanel's primary data centers in the United States. If you are using Mixpanel's EU Data Residency, you will need to change the nginx.config from api.mixpanel.com to api-eu.mixpanel.com

Load Testing

If you wish to load test your proxy, see mp-proxy-load-test for a load testing script with artillery.

Releases

No releases published

Packages

No packages published

Languages

  • Dockerfile 100.0%