![Mehrere Subdomains zum Anmelden bei phpMyAdmin mit Nginx](https://rvso.com/image/789297/Mehrere%20Subdomains%20zum%20Anmelden%20bei%20phpMyAdmin%20mit%20Nginx.png)
Ich versuche, zwei separaten Subdomänen von zwei verschiedenen Websites Zugriff auf die Anmeldung beim selben phpMyAdmin zu gewähren.
Ich bin nicht sicher, wie ich die Datei einrichten soll, phpmyadmin.conf
damit Nginx weiß, wie beide Subdomänen an die phpMyAdmin-Anmeldeseite weitergeleitet werden.
So sieht mein Nginx- server{}
Block aus./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;
}
}
Ich frage mich also, wie ich sowohl die pma.example.com
Subdomäne als auch die pma.example.net
Weiterleitung zur Hauptanmeldeseite von phpMyAdmin haben kann.
Antwort1
Das ist nichtHTTP-Umleitung, aber Nginx kann dieselbe Webanwendung von mehreren Hostnamen oder Pfaden aus bedienen. Dieserver_name
hat
Syntax:
server_name name ...;
in Ihrem Fall:
server_name pma.example.com pma.example.net;
...aber warum um Himmels Willen sollten Sie den Zugriff auf phpMyAdmin über eine unverschlüsselte Verbindung anbieten?! Daher würde ich stattdessen vorschlagen, einen gemeinsamen Pfad zu verwenden. Auf diese Weise müssen Sie sich keine Sorgen machen, dass jede Domäne ein zusätzliches Zertifikat oder SAN für die Subdomäne hat. Es ist auch einfach, es als globalen Alias zu konfigurieren.
Sie könnten beispielsweise folgen einemTutorial von Cloudbookletdie vorschlagen, einen Snippet hinzuzufügen in /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/;
}
}
Passen Sie es an Ihre Umgebung an: PHP-FPM-Version usw. Danach können Sie einfach include /etc/nginx/snippets/phpmyadmin.conf;
jeden server {}
Block ergänzen.