![Vários subdomínios para fazer login no phpMyAdmin com Nginx](https://rvso.com/image/789297/V%C3%A1rios%20subdom%C3%ADnios%20para%20fazer%20login%20no%20phpMyAdmin%20com%20Nginx.png)
Estou tentando fazer com que 2 subdomínios separados de 2 sites diferentes tenham acesso para fazer login no mesmo phpMyAdmin.
Não tenho certeza de como configurar o phpmyadmin.conf
arquivo para que o Nginx saiba como encaminhar os dois subdomínios para a página de login do phpMyAdmin.
Esta é a aparência do meu server{}
bloco 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;
}
}
Então, estou me perguntando como posso ter o pma.example.com
subdomínio e o pma.example.net
redirecionamento para a página principal de login do phpMyAdmin.
Responder1
Isso não éRedirecionamento HTTP, mas o Nginx pode servir o mesmo aplicativo da web a partir de vários nomes de host ou caminhos. Oserver_name
tem
Sintaxe:
server_name name ...;
no seu caso:
server_name pma.example.com pma.example.net;
...mas por que você ofereceria acesso ao phpMyAdmin em uma conexão não criptografada?! Portanto, eu sugeriria usar um caminho comum. Dessa forma, você não precisa se preocupar com o fato de cada domínio ter um certificado adicional ou SAN para o subdomínio. Também é fácil de configurar como um alias global.
Você poderia seguir, por exemplo, umtutorial do Cloudbookletque sugerem adicionar um snippet em /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/;
}
}
Modifique-o para corresponder ao seu ambiente: versão PHP FPM etc. Depois disso, você pode simplesmente adicionar include /etc/nginx/snippets/phpmyadmin.conf;
a cada server {}
bloco.