Augeas

使用 Augeas Nginx 鏡頭為 server_name 指令添加值

  • September 23, 2020

我目前擁有的:

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

沒有給我任何有關錯誤的線索。有人可以幫我嗎?

server_name欄位目前未被 Augeas 解析,因此它會生成單個字元串,而不是數組。

結果,您需要更換整個東西。

引用自:https://serverfault.com/questions/1035053