Nginx를 사용하여 phpMyAdmin에 로그인하기 위한 여러 하위 도메인

Nginx를 사용하여 phpMyAdmin에 로그인하기 위한 여러 하위 도메인

저는 2개의 서로 다른 웹사이트에 있는 2개의 별도 하위 도메인이 동일한 phpMyAdmin에 로그인할 수 있도록 하려고 합니다.

phpmyadmin.confNginx가 두 하위 도메인을 phpMyAdmin 로그인 페이지로 전달하는 방법을 알 수 있도록 파일을 설정하는 방법을 잘 모르겠습니다 .

내 Nginx server{}블록의 /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;
 }
}

pma.example.com그래서 하위 도메인과 pma.example.net기본 phpMyAdmin 로그인 페이지로의 리디렉션을 모두 가질 수 있는 방법이 궁금합니다 .

답변1

그건 아니야HTTP 리디렉션, 그러나 Nginx는 여러 호스트 이름이나 경로에서 동일한 웹 애플리케이션을 제공할 수 있습니다. 그만큼server_name가지다

통사론: server_name name ...;

귀하의 경우:

server_name pma.example.com pma.example.net;

...하지만 암호화되지 않은 연결에서 phpMyAdmin에 대한 액세스를 제공하려는 이유는 무엇입니까?! 따라서 대신 공통 경로를 사용하는 것이 좋습니다. 이렇게 하면 하위 도메인에 대한 추가 인증서나 SAN이 있는 모든 도메인에 대해 걱정할 필요가 없습니다. 전역 별칭으로 구성하는 것도 쉽습니다.

예를 들어 다음을 따를 수 있습니다.Cloudbooklet의 튜토리얼다음에 스니펫을 추가하는 것이 좋습니다 /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/;
    }
}

PHP FPM 버전 등 환경에 맞게 수정하세요. 그런 다음 include /etc/nginx/snippets/phpmyadmin.conf;모든 server {}블록에 간단히 추가할 수 있습니다.

관련 정보