访问宝塔后台时,默认直接访问的宝塔用python实现的后台网站,没有走nginx。
可以配置nginx代理宝塔面板后台,这样容易实现一些自己的个性化设置,例如给宝塔面板后台配置basic认证以增加安全性。
将以下内容保存为bt.conf
,放到/www/server/panel/vhost/nginx
目录,重启nginx。
server
{
listen 8888;
server_name vps.example.com;
if ($host != 'vps.example.com'){
return 403;
}
auth_basic "Authorization";
auth_basic_user_file /www/server/pass/bt.pass;
location / {
proxy_set_header Host $host:$server_port;
proxy_set_header X-Real-Ip $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_pass http://127.0.0.1:8887;
}
}
示例中宝塔使用8887端口,从外部访问时使用8888端口。
注意proxy_set_header Host $host:$server_port;
这一行不能使用proxy_set_header Host $host;
,否则宝塔后台登录重定向时会丢失端口。