skip to Main Content

I have wordpress site which was working correctly on apache site before.

https://example.com -> (port 443) -> apache server

However now I installed nginx for reverse proxy.

https://example.com -> (port 443) -> nginx ->(port 8080) -> apache

So now, when accesing wordpress site, there comes the error like this below

The page at '<URL>' was loaded over HTTPS, but requested an insecure script '<URL>'. This request has been blocked; the content must be served over HTTPS

I guess it is because of some files loaded from wordpress does not accept HTTP

How can I solve this? is there any relevant setting in wordpress ?

I can understand the server setting , but wordpress is blackbox for me.

2

Answers


  1. Check your page source and you must be having some external javascript files served over http like

    <script src="http://example.com/bla/bla/somefile.js">
    

    This needs to be served over https, like …

    <script src="https://example.com/bla/bla/somefile.js">
    

    If you check using chromes developer tool you will find out easily which of your javascript files are loaded over example.com . This needs to be fixed in code. You should include any external javascript over https protocol to get rid of that warning.

    Hope that helps.

    Login or Signup to reply.
  2. You can take HTTP/S back with a few simple SQLs:

    UPDATE wp_options SET option_value = replace(option_value, 'http://example.com', 'https://example.com') WHERE option_name = 'home' OR option_name = 'siteurl';
    UPDATE wp_posts SET guid = REPLACE (guid, 'http://example.com', 'https://example.com');
    UPDATE wp_posts SET post_content = REPLACE (post_content, 'http://example.com', 'https://example.com');
    UPDATE wp_postmeta SET meta_value = REPLACE (meta_value, 'http://example.com','https://example.com');
    

    But be careful, not all scripts support the HTTP protocol, as already mentioned.

    Login or Signup to reply.
Please signup or login to give your own answer.
Back To Top
Search