I'm so lost on www to non-www routing. I see people post a lot of code blocks and whatnot while I haven't coded a single thing for nginx.
What do I do to make the www also redirect to https:// ? I haven't done anything in nginx, it was done for me so if you need me to show you settings or edit specific files please let me know.
And if this has to do with my DNS provider I'm using cloudflare right now so if there's something to do there also let me know, thanks!
Here's my nginx.conf file
user www-data;
worker_processes auto;
pid /run/nginx.pid;
include /etc/nginx/modules-enabled/*.conf;
events {
worker_connections 768;
# multi_accept on;
}
http {
##
# Basic Settings
##
sendfile on;
tcp_nopush on;
tcp_nodelay on;
keepalive_timeout 65;
types_hash_max_size 2048;
# server_tokens off;
# server_names_hash_bucket_size 64;
# server_name_in_redirect off;
include /etc/nginx/mime.types;
default_type application/octet-stream;
##
# SSL Settings
##
ssl_protocols TLSv1 TLSv1.1 TLSv1.2 TLSv1.3; # Dropping SSLv3, ref: POODLE
ssl_prefer_server_ciphers on;
##
# Logging Settings
##
access_log /var/log/nginx/access.log;
error_log /var/log/nginx/error.log;
##
# Gzip Settings
##
gzip on;
# gzip_vary on;
# gzip_proxied any;
# gzip_comp_level 6;
# gzip_buffers 16 8k;
# gzip_http_version 1.1;
# gzip_types text/plain text/css application/json application/javascript text/xml application/xml application/xml rss text/javascript;
##
# Virtual Host Configs
##
include /etc/nginx/conf.d/*.conf;
include /etc/nginx/sites-enabled/*;
}
#mail {
# # See sample authentication script at:
# # http://wiki.nginx.org/ImapAuthenticateWithApachePhpScript
#
# # auth_http localhost/auth.php;
# # pop3_capabilities "TOP" "USER";
# # imap_capabilities "SOMETHING" "SOMETHING";
#
# server {
# listen localhost:110;
# protocol pop3;
# proxy on;
# }
#
# server {
# listen localhost:143;
# protocol imap;
# proxy on;
# }
#}
CodePudding user response:
Would it be possible if you could share your NGINX.conf? You should be able to find it in /etc/nginx/nginx.conf . If you are not sure where it is, perform a "find / -name nginx.conf 2>/dev/null" and the path of where the file is located should come up. Also, you might want to hide or anonymize any private information before sharing it within stackoverflow.
To start, here is some nginx documentation on how to setup SSL: http://nginx.org/en/docs/http/configuring_https_servers.html
Thanks in advance!
CodePudding user response:
After a long conversation with @SREEK, many failed attempts, a lot of trial and error we found a solution:
in /etc/nginx/sites-enabled
there was a example.com.conf
file containing nginx config. I added
server {
listen 80;
server_name www.example.com;
return 301 $scheme://example.com$request_uri;
}
to the top and boom, all works again.
This answer was taken from https://www.vultr.com/docs/nginx-redirects-for-non-www-sub-domains-to-www/
Much thanks to @SREEK and the time he spent trying to help me.