有没有办法获取服务器端口并将其用作 var?
要按照下面的例子来做而不是
location /file-8081.zip { alias /var/www/8081/file.zip; }
?
server {
listen 8081;
server_name localhost;
location /file-$server_port.zip { alias /var/www/$server_port/file.zip; }
}
我希望每次有人访问http://ip:$port/file-$port.zip
它时都会从该位置提供文件/var/www/$port/file.zip
答案1
不确定这是否符合您的要求,但我设法通过以下方式获得工作配置:
server {
listen 8080;
listen 8081;
listen 8082;
listen 8083;
listen 8084;
listen 8085;
listen 8086;
root /var/www;
rewrite ^(/\w+)-(?<myport>\d+)(\.\w+)$ /$myport$1$3;
if ($myport != $server_port) {
return 403;
}
}