我使用 nginx 作为多个服务的反向代理。我正在运行(phpmyadmin、MySQL、graphql api、nextjs-apps 等)。我将我的域名称为example-domain.de
我以前曾经mysql.example-domain.de
访问过 phpmyadmin,现在我想将其更改为,phpmyadmin.example-domain.de
因为我想将其mysql.example-domain.de
用作 MySQL 服务器的 TCP 代理。
适当的 nginx 配置:
server {
server_name mysql.example-domain.de www.example-domain.de;
root /usr/share/phpmyadmin;
index index.php index.html index.htm index.nginx-debian.html;
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;
}
listen 443 ssl; # managed by Certbot
ssl_certificate /etc/letsencrypt/live/example-domain-0001/fullchain.pem; # managed by Certbot
ssl_certificate_key /etc/letsencrypt/live/example-domain-0001/privkey.pem; # managed by Certbot
include /etc/letsencrypt/options-ssl-nginx.conf; # managed by Certbot
ssl_dhparam /etc/letsencrypt/ssl-dhparams.pem; # managed by Certbot
}
此配置适用于在 上提供 phpmyadmin 服务mysql.example-domain.de
,但如果我添加或更改server_name
为:
server_name mysql.example-domain.de www.mysql.example-domain.de phpmyadmin.example-domain.de www.phpmyadmin.example-doman.de
或
server_name phpmyadmin.example-domain.de www.phpmyadmin.example-doman.de
我无法访问phpmyadmin.example-domain.de
是的,我使用 certbot 更新了 let's encrypt 证书。
我究竟做错了什么?
答案1
现在它开始工作了。我不知道为什么或者如何,但它开始工作了,我要把它留在那里。
这几天都没改什么配置文件,今天一试,竟然成功了。
子域名是在大约三周前创建的,因此这不是问题所在。