![使用 Augeas Nginx lens 为 server_name 指令添加值](https://linux22.com/image/757851/%E4%BD%BF%E7%94%A8%20Augeas%20Nginx%20lens%20%E4%B8%BA%20server_name%20%E6%8C%87%E4%BB%A4%E6%B7%BB%E5%8A%A0%E5%80%BC.png)
我目前拥有的:
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 解析,因此它会产生单个字符串,而不是数组。
因此,您需要将其整个更换。