Как настроить редирект на созданный поддомен (сервер nginx)?
Недавно приобрел VDS и сейчас пытаюсь разобраться с добавлением поддоменов. К VDS привязан домен, например example.com. Под него создан ssl сертификат (с помощью certbot) и соответственно настроен (+прописал в /etc/hosts -> 127.0.0.1 example.com) конфиг nginx:
server {
listen 80;
listen [::]:80;
server_name example.com www.example.com;
return 301 https://example.com$request_uri;
}
server {
listen 443 ssl http2;
listen [::]:443 ssl http2;
server_name www.example.com;
return 301 https://example.com$request_uri;
ssl_certificate /etc/letsencrypt/live/example.com/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/example.com/privkey.pem;
ssl_trusted_certificate /etc/letsencrypt/live/example.com/chain.pem;
include snippets/ssl-params.conf;
}
server {
listen 443 ssl http2;
listen [::]:443 ssl http2;
server_name example.com;
root /var/www/example.com/public;
index index.php index.html index.xml;
ssl_certificate /etc/letsencrypt/live/example.com/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/example.com/privkey.pem;
ssl_trusted_certificate /etc/letsencrypt/live/example.com/chain.pem;
include snippets/ssl-params.conf;
location / {
try_files $uri /index.php$is_args$args;
}
location ~ /\.ht {
deny all;
}
# Connect php fpm
include snippets/fastcgi-standart.conf;
access_log /var/log/nginx/example__com__access.log;
error_log /var/log/nginx/example__com__error.log;
}
Для переадресации с www->на без www и с http на https. Сейчас хочу настроить phpmyadmin, столкнулся с проблемой, по инструкции на сайте хостера говорилось, что достаточно только поставить apt install phpmyadmin и он будет доступен по адрес IP_SITE/phpmyadmin.
Но у меня этот вариант не завелся, предположил, что виной всему конфиг nginx(правда где "собака зарыта" ХЗ). Попытался реализовать такой вариант - создать поддомен pma.example.com. После чего проделал манипуляцию, как и с основным доменом:
- Прописал в
/etc/hosts -> 127.0.0.1 pma.example.com - Сделал конфиг nginx (без переадресации на https):
server {
listen 80;
listen [::]:80;
server_name pma.example.com www.pma.example.com;
root /var/www/phpmyadmin; (это символическая ссылка, реально находиться по стандартному пути /usr/share/phpmyadmin)
index index.php;
location / {
try_files $uri $uri/ /index.php?$args;
}
location ~ ^/(doc|sql|setup)/ {
deny all;
}
location ~ /\.ht {
deny all;
}
# Connect php fpm
include snippets/fastcgi-standart.conf;
access_log /var/log/nginx/phpmyadmin_access.log;
error_log /var/log/nginx/phpmyadmin_error.log;
}
Но при попытке перейти по https://pma.example.com/ меня редиректит на https://example.com/. И я ума не приложу, как исправить. VDS пользуюсь впервые, поэтому возможно не вижу каких-то очевидных вещей. Чего я хочу добиться:
- Что бы phpmyadmin был доступен по адресу pma.example.com или
- Что бы phpmyadmin был доступен по
example.com/phpmyadmin(вариант более приоритетен, так как не надо будет заморачиваться с ssl, так как у certbot я ненашел опции выдавать ssl на домен + поддомены)