HTTPS Insecure Content Fixer Plugin

If you’ve got a site running on HTTPS and you try to throw in some HTTP content, the browser gets nervous. If you’ve recently made a shift to HTTPS you might notice content that was successfully embedded disappearing. If you look in the browser (right click>inspect element in Chrome), you’ll see an error like the one above. What you want in this scenario is protocol relative URLS . . . essentially a URL without the leading http/https. That lets the page load via the one protocol that matches (assuming it exists- some sites won’t supply HTTPS options).1 I ran into this problem with files we uploaded via Gravity Forms prior to the switch to HTTPS. There are a number of ways to deal with this (including search/replace at the database level) but we’re under a very heavy load at the moment and I just needed a quick fix. This solution will also allow people to do whatever they want on an ongoing basis better than a database response. This tiny little filter plugin is the result. All it does is use PHP’s preg_replace (regex) function to find any instances of HTTP or HTTPS (capital or lowercase) and remove them. I’m still amazed by regex but always end up having to spend a bit of time reminding myself of how it […]

NGINX – HTTPS & HTTP (When Needed)

After HTTPS was turned on to deal with one issue it, of course, kicked off another unforeseen one. All of the screencast.com content failed to laod. You can see that happening above. It’s never a bad idea to take a look at the console using Chrome’s developer tools when weird stuff happens to a site. Since I couldn’t change anything on the screencast.com side of things, I needed to be able to load this particular site as HTTP rather than HTTPS. I tried a variety of paths based on various Stack Overflow suggestions. I’m not entirely sure I didn’t fix it in various other ways but this one seems to work. I will note that NGINX is a bit like regit and htaccess in that as I get deeper and deeper I begin to suspect it is actually witchcraft. So, to give full directions. I’m SSH’ing into the server via Terminal. I’m navigating to where my NGINX file lives. I’m opening the file in Nano. The 443 server block was already in place. I added the location element within that block. It waits for requests on 443 and should stop the http://rampages.us/psy323 site from being pushed up to https. I also added a second server block listening at the regular port 80 that does nothing with the psy323 address. Next […]