![Múltiples subdominios para iniciar sesión en phpMyAdmin con Nginx](https://rvso.com/image/789297/M%C3%BAltiples%20subdominios%20para%20iniciar%20sesi%C3%B3n%20en%20phpMyAdmin%20con%20Nginx.png)
Estoy intentando que 2 subdominios separados de 2 sitios web diferentes tengan acceso para iniciar sesión en el mismo phpMyAdmin.
No estoy seguro de cómo configurar el phpmyadmin.conf
archivo para que Nginx sepa cómo reenviar ambos subdominios a la página de inicio de sesión de phpMyAdmin.
Así es como se ve mi server{}
bloque Nginx /etc/nginx/conf.d/phpmyadmin.conf
.
server {
listen 80;
listen [::]:80;
server_name pma.example.com;
root /usr/share/phpmyadmin/;
index index.php index.html index.htm index.nginx-debian.html;
access_log /var/log/nginx/phpmyadmin_access.log;
error_log /var/log/nginx/phpmyadmin_error.log;
location / {
try_files $uri $uri/ /index.php;
}
location ~ ^/(doc|sql|setup)/ {
deny all;
}
location ~ \.php$ {
fastcgi_pass unix:/run/php/php7.4-fpm.sock;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
include snippets/fastcgi-php.conf;
}
location ~ /\.ht {
deny all;
}
}
Entonces, me pregunto cómo puedo tener tanto el pma.example.com
subdominio como la pma.example.net
redirección a la página principal de inicio de sesión de phpMyAdmin.
Respuesta1
Eso no esredirección HTTP, pero Nginx puede servir la misma aplicación web desde múltiples nombres de host o rutas. Elserver_name
tiene
Sintaxis:
server_name name ...;
en tu caso:
server_name pma.example.com pma.example.net;
...pero ¿por qué ofrecerías acceso a phpMyAdmin en una conexión no cifrada? Por lo tanto, sugeriría utilizar una ruta común. De esta manera, no tendrá que preocuparse de que cada dominio tenga un certificado o SAN adicional para el subdominio. También es fácil de configurar como alias global.
Podrías seguir, por ejemplo, untutorial de Cloudbookletque sugieren agregar un fragmento en /etc/nginx/snippets/phpmyadmin.conf
:
location /phpmyadmin {
root /usr/share/;
index index.php index.html index.htm;
location ~ ^/phpmyadmin/(.+\.php)$ {
try_files $uri =404;
root /usr/share/;
fastcgi_pass unix:/run/php/php8.0-fpm.sock;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include /etc/nginx/fastcgi_params;
}
location ~* ^/phpmyadmin/(.+\.(jpg|jpeg|gif|css|png|js|ico|html|xml|txt))$ {
root /usr/share/;
}
}
Modifíquelo para que coincida con su entorno: versión PHP FPM, etc. Después de eso, simplemente puede agregarlo include /etc/nginx/snippets/phpmyadmin.conf;
a cada server {}
bloque.