Streaming HLS and MPEG-DASH from behind reverse proxy

There are use cases when a media streamer is putting Nimble Streamer media server behind the reverse proxy. This is usually done for security reasons and works pretty good.

But there is a side effect of this solution. For each connection, Nimble Streamer gets the IP of the proxy instead of IP of the viewer. This means that geo-location reporting for HLS and other HTTP protocols would be shown incorrectly. Also, WMSPanel hotlinking protection and geo-lock will not work since it’s based on IP as well.

For HTTP-based protocols like HLS, MPEG-DASH, SmoothStreaming and Progressive download this can be solved via processing X-Forwarded-For header.

We’ve recently added processing capability option to handle this HTTP header in Nimble Streamer. You need to follow these easy steps.

1. Open Nimble Streamer configuration file called /etc/nimble/nimble.conf and add the following parameter:

cdn_origin = true

2. Restart Nimble.
For Debian/Ubuntu run:

sudo service nimble restart

For Red Hat Enterprise Linux 6 / CentOS 6 run:

sudo service nimble start

That’s it. Nimble Streamer will be obtaining customers’ IP addresses correctly.