@Panda if just seems bizarre practice to me. They clearly state that cPanel comes with the package, yet don’t seem to offer it unless you complain it’s missing!
Just obtained a new SSL certificate, but the browser shows connection is not secure
-
Hi, I am using virtualmin and I have obtained new SSL certificate from Let’s Encrypt. And checked the folder, where my domain.conf under the folder “/etc/nginx/sites-enabled”
ssl_certificate /home/user/ssl.combined; ssl_certificate_key /home/user/ssl.key;
They are in the folder listed above. I am not sure what else I shall do to my connection secured.
Also, I am not sure if I shall open another post or I can ask another question:
I tried to follow this configuration to deploy my Nginx server. However, the folder is different, my server is not using “/var/www/flarum/public”, rather is “home/user”, when I run, “sudo nginx -t”,
I believe I should use relative path, but I don’t know how.
nginx: [warn] the "ssl" directive is deprecated, use the "listen ... ssl" directive instead in /etc/nginx/sites-enabled/flarum.conf:51 nginx: [emerg] directive "ssl_certificate" is not terminated by ";" in /etc/nginx/sites-enabled/flarum.conf:52 nginx: configuration file /etc/nginx/nginx.conf test failed
And this is the customized the flarum.conf file, I came up with:
server { listen [::]:80; listen 80; server_name domain.net; return 301 https://$host$request_uri; root /var/www/flarum/public; index index.php; location / { try_files $uri $uri/ /index.php?$query_string; } location ~* \.php$ { fastcgi_pass unix:/run/php/php7.4-fpm.sock; include fastcgi_params; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; } location ~* \.(jpg|jpeg|png|gif|ico|css|js|woff2)$ { expires 365d; } } server { listen 443 ssl; server_name domain.net; root /var/www/flarum/public; index index.php; location / { try_files $uri $uri/ /index.php?$query_string; } location ~* \.php$ { fastcgi_pass unix:/run/php/php7.4-fpm.sock; include fastcgi_params; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; } ssl_certificate /etc/nginx/ssl/forum_acehsc_net.pem; ssl_certificate_key /etc/nginx/ssl/forum_blank_net.key; ssl_prefer_server_ciphers on; ssl_buffer_size 4k; ssl_ecdh_curve auto; ## OCSP Stapling ssl_stapling on; ssl_stapling_verify on; resolver 1.1.1.1 valid=300s; resolver_timeout 5s; ssl_trusted_certificate /etc/nginx/ssl/forum_blank_net.pem; ssl_session_cache builtin:1000 shared:SSL:10m; ssl_session_timeout 10m; ssl_session_tickets off; add_header Strict-Transport-Security "max-age=31536000; includeSubdomains;"; add_header Content-Security-Policy "upgrade-insecure-requests" always; ssl_dhparam /etc/nginx/ssl/dhparam-2048.pem; location ~* \.(jpg|jpeg|png|gif|ico|css|js|woff2)$ { expires 365d; } }
-
@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 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.
-
@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 thefastcgi_pass localhost:8000;
lineThe 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.
-
@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 ?
-
@phenomlab there is one on my screen, please see this .
-
@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. "
-
@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.
-
Did this solution help you?
Related Topics
-
-
-
Is nginx necessary to use?
Moved Solved Hosting -
-
-
-
-