Skip to content

Just obtained a new SSL certificate, but the browser shows connection is not secure

Solved Hosting
  • @ash3t I’d make several changes here. Enclosed is a working copy of an NGINX config you can base yours on

    server {
    	listen x.x.x.x:443 ssl http2;
    	server_name domain.com www.domain.com;
            include /home/domain/flarum/.nginx.conf;
    	root /home/domain/flarum/public;
    	index index.php index.htm index.html;
    	access_log /var/log/virtualmin/domain.com_access_log;
    	error_log /var/log/virtualmin/domain.com_error_log;
    	fastcgi_param GATEWAY_INTERFACE CGI/1.1;
    	fastcgi_param SERVER_SOFTWARE nginx;
    	fastcgi_param QUERY_STRING $query_string;
    	fastcgi_param REQUEST_METHOD $request_method;
    	fastcgi_param CONTENT_TYPE $content_type;
    	fastcgi_param CONTENT_LENGTH $content_length;
    	fastcgi_param SCRIPT_FILENAME /home/domain/flarum/public$fastcgi_script_name;
    	fastcgi_param SCRIPT_NAME $fastcgi_script_name;
    	fastcgi_param REQUEST_URI $request_uri;
    	fastcgi_param DOCUMENT_URI $document_uri;
    	fastcgi_param DOCUMENT_ROOT /home/domain/flarum/public;
    	fastcgi_param SERVER_PROTOCOL $server_protocol;
    	fastcgi_param REMOTE_ADDR $remote_addr;
    	fastcgi_param REMOTE_PORT $remote_port;
    	fastcgi_param SERVER_ADDR $server_addr;
    	fastcgi_param SERVER_PORT $server_port;
    	fastcgi_param SERVER_NAME $server_name;
    	fastcgi_param PATH_INFO $fastcgi_path_info;
    	fastcgi_param HTTPS $https;
    
            location ~ \.php$  {
    		try_files $uri $fastcgi_script_name =404;
    		fastcgi_pass localhost:8000;
    		#fastcgi_pass unix:/run/php/php8.0-fpm.sock;
    		gzip on;
    		gzip_comp_level 5;
    	}
    
        ssl_certificate /home/domain/ssl.combined;
        ssl_certificate_key /home/domain/ssl.key;
        client_max_body_size 20M;
        add_header X-Frame-Options "SAMEORIGIN" always;
        add_header X-XSS-Protection "1; mode=block";
        add_header X-Download-Options "noopen" always;
        add_header X-Content-Type-Options "nosniff" always;
        add_header Content-Security-Policy "upgrade-insecure-requests" always;
        add_header Referrer-Policy 'no-referrer' always;
        add_header Permissions-Policy "accelerometer=(), camera=(), geolocation=(), gyroscope=(), 
        magnetometer=(), microphone=(), payment=(), usb=()" always;
        add_header X-Powered-By "domain" always;
        add_header Access-Control-Allow-Origin "https://domain.com" always;
        add_header X-Permitted-Cross-Domain-Policies "none" always;
        add_header Strict-Transport-Security "max-age=63072000; includeSubDomains; preload" always;
    	if ($scheme = http) {
    		rewrite ^/(?!.well-known)(.*) https://domain.com/$1 permanent;
    	}
    ### redirect www to non-www with client code 301 ###
          if ($host = 'www.domain.com' ) {
             rewrite  ^/(.*)$  https://domain.com/$1  permanent;
          }
    }
    
    
    server {
        if ($host = www.domain.com) {
            return 301 https://$host$request_uri;
        } # managed by Certbot
    
    	server_name domain.com www.domain.com;
    	listen x.x.x.x;
            return 404; # managed by Certbot
    }
    

    You should not modify the Flarum .nginx conf file, but simply “include” it in your domain.conf

    @phenomlab Thanks very much for sharing the copy of an NGINX config. I tried to replace the IP and domain with my IP and domain. But it returned with " nginx: configuration file /etc/nginx/nginx.conf test failed" when I save the config file.

    location ~ \.php$ {
    try_files $uri $fastcgi_script_name =404;
    fastcgi_pass localhost:8000;
    #fastcgi_pass unix:/run/php/php8.0-fpm.sock;
    gzip on;
    gzip_comp_level 5;
    }

    The previous block is

    location ~ \.php(/|$) {
    try_files $uri $fastcgi_script_name =404;
    fastcgi_pass unix:/var/php-nginx/163072439048555.sock/socket;
    }

    I am using Php 7.4 should I remain the previous block? I noticed there is php8.0-fpm.sock.

    Then I only changes one line in /etc/nginx/sites-available/mysite01.conf

    include /home/user/public_html/.nginx.conf;

    It doesn’t work too. Then my Database lost connection.

  • @phenomlab Thanks very much for sharing the copy of an NGINX config. I tried to replace the IP and domain with my IP and domain. But it returned with " nginx: configuration file /etc/nginx/nginx.conf test failed" when I save the config file.

    location ~ \.php$  {
    		try_files $uri $fastcgi_script_name =404;
    		fastcgi_pass localhost:8000;
    		#fastcgi_pass unix:/run/php/php8.0-fpm.sock;
    		gzip on;
    		gzip_comp_level 5;
    	}
    

    The previous block is

    location ~ \.php(/|$) {
                    try_files $uri $fastcgi_script_name =404;
                    fastcgi_pass unix:/var/php-nginx/163072439048555.sock/socket;
            }
    

    I am using Php 7.4 should I remain the previous block? I noticed there is php8.0-fpm.sock.

    Then I only changes one line in /etc/nginx/sites-available/mysite01.conf

    include /home/user/public_html/.nginx.conf; 
    
    

    It doesn’t work too. Then my Database lost connection.

    @ash3t said in Just obtained a new SSL certificate, but the browser shows connection is not secure:

    I am using Php 7.4 should I remain the previous block? I noticed there is php8.0-fpm.sock.

    The command for PHP8.0 is prefix by a hash, so will be ignored.

    Try using fastcgi_pass unix:/run/php/php7.4-fpm.sock; and place a # before the fastcgi_pass localhost:8000; line

    The previous block is

    That socket number is auto assigned to the domain when you create it, so it may make more sense to use that. So, something like this

    location ~ \.php$ {
    try_files $uri $fastcgi_script_name =404;
    fastcgi_pass unix:/var/php-nginx/163072439048555.sock/socket;
    }

    Or

    location ~ \.php$ {
    try_files $uri $fastcgi_script_name =404;
    fastcgi_pass unix:/run/php/php7.4-fpm.sock;
    }

    It doesn’t work too. Then my Database lost connection.

    Can you clarify this part ?

  • @ash3t said in Just obtained a new SSL certificate, but the browser shows connection is not secure:

    I am using Php 7.4 should I remain the previous block? I noticed there is php8.0-fpm.sock.

    The command for PHP8.0 is prefix by a hash, so will be ignored.

    Try using fastcgi_pass unix:/run/php/php7.4-fpm.sock; and place a # before the fastcgi_pass localhost:8000; line

    The previous block is

    That socket number is auto assigned to the domain when you create it, so it may make more sense to use that. So, something like this

    location ~ \.php$ {
                    try_files $uri $fastcgi_script_name =404;
                    fastcgi_pass unix:/var/php-nginx/163072439048555.sock/socket;
            }
    

    Or

    location ~ \.php$ {
                    try_files $uri $fastcgi_script_name =404;
                    fastcgi_pass unix:/run/php/php7.4-fpm.sock;
            }
    

    It doesn’t work too. Then my Database lost connection.

    Can you clarify this part ?

    @Ash3T one other thing that sprung to mind - which mode is PHP running in - FCGID or PHP-FPM ? Shouldn’t make too much difference at this stage, but ideally needs to be PHP-FPM.

  • @Ash3T one other thing that sprung to mind - which mode is PHP running in - FCGID or PHP-FPM ? Shouldn’t make too much difference at this stage, but ideally needs to be PHP-FPM.

    @phenomlab Thanks very much for your reply. I am really busy these days, and I don’t have time to look more into this. Sorry for the late reply. I will give it a try the other day, and make a note of the details, and keep you posted. Thanks again for your kindness.

    By the way, I cannot use the emoji button, there is no emoji after I click on it. Not sure if this happens to everyone or it is just me.

  • @phenomlab Thanks very much for your reply. I am really busy these days, and I don’t have time to look more into this. Sorry for the late reply. I will give it a try the other day, and make a note of the details, and keep you posted. Thanks again for your kindness.

    By the way, I cannot use the emoji button, there is no emoji after I click on it. Not sure if this happens to everyone or it is just me.

    @ash3t There isn’t an emoji button here like there was in Flarum. Is that what you’re referring to, or was it something that used to work, but no longer does ?

  • @ash3t There isn’t an emoji button here like there was in Flarum. Is that what you’re referring to, or was it something that used to work, but no longer does ?

    @phenomlab there is one on my screen, please see this screen shot.

  • @phenomlab there is one on my screen, please see this screen shot.

    @ash3t yes, I see what you mean now. It does appear to be broken. Let me look into that. Meanwhile, you can still use standard ASCII emojis like this one 🙂

  • @ash3t yes, I see what you mean now. It does appear to be broken. Let me look into that. Meanwhile, you can still use standard ASCII emojis like this one 🙂

    @phenomlab 😄 Yes. I can send out emoji now.

    I started over and got stuck again, here is my config file, could you please take a look?

    server {
    server_name domain.com www.domain.com;
    listen 147.1*2.154.2*3:443;
    root /home/haobao/public_html;
    index index.php index.htm index.html;
    access_log /var/log/virtualmin/haobao.gq_access_log;
    error_log /var/log/virtualmin/haobao.gq_error_log;
    fastcgi_param GATEWAY_INTERFACE CGI/1.1;
    fastcgi_param SERVER_SOFTWARE nginx;
    fastcgi_param QUERY_STRING $query_string;
    fastcgi_param REQUEST_METHOD $request_method;
    fastcgi_param CONTENT_TYPE $content_type;
    fastcgi_param CONTENT_LENGTH $content_length;
    fastcgi_param SCRIPT_FILENAME /home/haobao/public_html$fastcgi_script_name;
    fastcgi_param SCRIPT_NAME $fastcgi_script_name;
    fastcgi_param REQUEST_URI $request_uri;
    fastcgi_param DOCUMENT_URI $document_uri;
    fastcgi_param DOCUMENT_ROOT /home/haobao/public_html;
    fastcgi_param SERVER_PROTOCOL $server_protocol;
    fastcgi_param REMOTE_ADDR $remote_addr;
    fastcgi_param REMOTE_PORT $remote_port;
    fastcgi_param SERVER_ADDR $server_addr;
    fastcgi_param SERVER_PORT $server_port;
    fastcgi_param SERVER_NAME $server_name;
    fastcgi_param PATH_INFO $fastcgi_path_info;
    fastcgi_param HTTPS $https;
    fastcgi_split_path_info ^(.+\.php)(/.+)$;
    location ~ \.php(/|$) {
    try_files $uri $fastcgi_script_name =404;
    fastcgi_pass unix:/var/php-nginx/163323042750871.sock/socket;
    }
    location /cgi-bin/ {
    gzip off;
    root /home/haobao/cgi-bin;
    fastcgi_pass unix:/var/fcgiwrap/163323105555833.sock/socket;
    fastcgi_param SCRIPT_FILENAME /home/haobao$fastcgi_script_name;
    }
    listen 147.1*2.154.2*3:443 ssl;
    ssl_certificate /home/haobao/ssl.combined;
    ssl_certificate_key /home/haobao/ssl.key;
    fastcgi_read_timeout 60;
    }

    I tried to add: “/flarum/public/” in the following two places
    root /home/haobao/public_html;
    root /home/haobao/cgi-bin;

    It shows: “403 Forbidden” or "No input file specified. "

  • @phenomlab 😄 Yes. I can send out emoji now.

    I started over and got stuck again, here is my config file, could you please take a look?

    server {
    	server_name domain.com www.domain.com;
    	listen 147.1*2.154.2*3:443;
    	root /home/haobao/public_html;
        index index.php index.htm index.html;
    	access_log /var/log/virtualmin/haobao.gq_access_log;
    	error_log /var/log/virtualmin/haobao.gq_error_log;
    	fastcgi_param GATEWAY_INTERFACE CGI/1.1;
    	fastcgi_param SERVER_SOFTWARE nginx;
    	fastcgi_param QUERY_STRING $query_string;
    	fastcgi_param REQUEST_METHOD $request_method;
    	fastcgi_param CONTENT_TYPE $content_type;
    	fastcgi_param CONTENT_LENGTH $content_length;
    	fastcgi_param SCRIPT_FILENAME /home/haobao/public_html$fastcgi_script_name;
    	fastcgi_param SCRIPT_NAME $fastcgi_script_name;
    	fastcgi_param REQUEST_URI $request_uri;
    	fastcgi_param DOCUMENT_URI $document_uri;
    	fastcgi_param DOCUMENT_ROOT /home/haobao/public_html;
    	fastcgi_param SERVER_PROTOCOL $server_protocol;
    	fastcgi_param REMOTE_ADDR $remote_addr;
    	fastcgi_param REMOTE_PORT $remote_port;
    	fastcgi_param SERVER_ADDR $server_addr;
    	fastcgi_param SERVER_PORT $server_port;
    	fastcgi_param SERVER_NAME $server_name;
    	fastcgi_param PATH_INFO $fastcgi_path_info;
    	fastcgi_param HTTPS $https;
    	fastcgi_split_path_info ^(.+\.php)(/.+)$;
    	location ~ \.php(/|$) {
    		try_files $uri $fastcgi_script_name =404;
    		fastcgi_pass unix:/var/php-nginx/163323042750871.sock/socket;
    	}
        location /cgi-bin/ {
    		gzip off;
    		root /home/haobao/cgi-bin;
    		fastcgi_pass unix:/var/fcgiwrap/163323105555833.sock/socket;
    		fastcgi_param SCRIPT_FILENAME /home/haobao$fastcgi_script_name;
    	}
    	listen 147.1*2.154.2*3:443 ssl;
    	ssl_certificate /home/haobao/ssl.combined;
    	ssl_certificate_key /home/haobao/ssl.key;
    	fastcgi_read_timeout 60;
    }
    

    I tried to add: “/flarum/public/” in the following two places
    root /home/haobao/public_html;
    root /home/haobao/cgi-bin;

    It shows: “403 Forbidden” or "No input file specified. "

    @ash3t I just figured out the mistake I made on the previous config. Now the config is working now. Thanks a lot. I couldn’t edit my previous post. Your working copy of the NGINX config really helps. Thanks a lot.

  • undefined phenomlab has marked this topic as solved on 4 Oct 2021, 08:01
  • @ash3t I just figured out the mistake I made on the previous config. Now the config is working now. Thanks a lot. I couldn’t edit my previous post. Your working copy of the NGINX config really helps. Thanks a lot.

    @ash3t Great 🙂 Glad everything has worked out.

  • undefined phenomlab unlocked this topic on 6 Oct 2021, 17:24


12/12

4 Oct 2021, 08:02


Did this solution help you?
Did you find the suggested solution useful? Why not buy me a coffee? It's a nice gesture, and a great way to show your appreciation 💗

Related Topics