Google Chrome - Mixed Content - Media Not Showing

The only thing that passes through nip.io is the DNS request for the subdomain. The rest of the URL does not get sent to nip.io.

In other words, your browser only sends the domain name 192.168.1.50.nip.io to nip.io and nip.io responds that it’s available at the IP address 192.168.1.50. From that point forward, anything else in the URL or the request gets sent directly to the IP address (eg. your camera).

The flow looks something like the following:

  1. Your browser gets a request for http://192.168.1.50.nip.io/mycontent
  2. Your browser sees that the request is a subdomain of nip.io, so it asks nip.io where it can find the subdomain 192.168.1.50.nip.io
  3. nip.io replies that the subdomain is available at the IP address 192.168.1.50
  4. Your browser then makes the http request to the provided IP address along with the rest of the URL (eg. at this point, the full path of the URL gets sent to the IP address).
  5. Your IP camera is at the IP address, so it sees the http request (along with the full URL at this point), and is able to respond with the requested resource

Here’s a visual version of the above that I quickly put together:
(tap the right or left side to move through the slides)

DNS by Joshua Lyon
Images (tap to expand if the embed above doesn't work)

Overview

Subdomain Lookup (DNS Request)

Subdomain Response (DNS → IP)

HTTP Request (to camera)

HTTP Response (from camera)

This YouTube video explains how DNS works and might be interesting to you as well.

Interesting. Can you clarify what you mean by ‘video’? Do you mean an MJPEG stream pointing to a local IP?

Where is your MJPEG stream coming from? Directly from the camera (if so, what model) or something like TinyCam?

1 Like