Hello everyone!
Ubuntu 20.04
Nginx 1.18.0
Certbot nginx
Got 2 certificates for mysite.com and www.mysite.com
I don’t want that www before my site and put a redirect to mysite.com without www
Here’s a code from mysite.conf in nginx which edited certbot
server {
server_name mysite.com www.mysite.com;
root /var/www/forum;
index index.php;
location ~* /\.git { deny all; return 403; }
location /build/ { deny all; return 403; }
location /cache/ { deny all; return 403; }
location /cgi-bin/ { deny all; return 403; }
location /uploads/import/ { deny all; return 403; }
location /conf/ { deny all; return 403; }
location /tests/ { deny all; return 403; }
location /vendor/ { deny all; return 403; }
location ~* ^/index\.php(/|$) {
include snippets/fastcgi-php.conf;
fastcgi_param SCRIPT_NAME /index.php;
fastcgi_param SCRIPT_FILENAME $realpath_root/index.php;
fastcgi_param X_REWRITE 1;
fastcgi_pass unix:/var/run/php/php7.4-fpm.sock;
}
location ~* \.php(/|$) {
rewrite ^ /index.php$uri last;
}
location / {
try_files $uri $uri/ @forum;
}
location @forum {
rewrite ^ /index.php$uri last;
}
listen 443 ssl; # managed by Certbot
ssl_certificate /etc/letsencrypt/live/mysite.com/fullchain.pem; # managed by Certbot
ssl_certificate_key /etc/letsencrypt/live/mysite.com/privkey.pem; # managed by Certbot
include /etc/letsencrypt/options-ssl-nginx.conf; # managed by Certbot
ssl_dhparam /etc/letsencrypt/ssl-dhparams.pem; # managed by Certbot
}
server {
if ($host = www.mysite.com) {
return 301 https://$host$request_uri;
} # managed by Certbot
if ($host = mysite.com) {
return 301 https://$host$request_uri;
} # managed by Certbot
listen 80;
server_name mysite.com www.mysite.com;
return 404; # managed by Certbot
}
I added this
server {
server_name www.mysite.com;
return 301 $scheme://mysite.com$request_uri;
}
But nothing has changed. It worked until I installed cerbot.
How to fix it please?
Also one question. Maybe in that case I shouldn’t have asked for a cert for www.mysite.com? Just for mysite.com?
Thank you!