使用 Augeas Nginx lens 为 server_name 指令添加值

使用 Augeas Nginx lens 为 server_name 指令添加值

我目前拥有的:

server {
    
    listen 80;
    server_name www.lala.com lala.com;
    
    location / {
        proxy_set_header Host $http_host;
        proxy_set_header X-Forwarded-Host $host;
        proxy_set_header X-Forwarded-Server $host;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_pass       http://127.0.0.1:81;
    }
}

我想向该server_name指令添加(而不是替换)一个新值。我尝试使用以下方法augtool

augtool> set /files/etc/nginx/conf.d/site.conf/server[1]/*[self::directive="server_name"]/arg[last() + 1] "www.lala2.com lala2.com"
error: Failed to execute command
Setting /files/etc/nginx/conf.d/site.conf/server[1]/*[self::directive="server_name"]/arg[last() + 1] failed
augtool>

使用 :

augtool> print /augeas//error

没有给我任何有关错误的线索。有人能帮我解决这个问题吗?

答案1

server_name字段目前尚未被 Augeas 解析,因此它会产生单个字符串,而不是数组。

因此,您需要将其整个更换。

相关内容