如何从文件读取IP /子网并在Chef防火墙配方中使用

时间:2019-02-01 12:56:28

标签: ruby chef firewall ufw

我想使用本地文件在Chef中填充UFW防火墙规则。 $("#sortpage").on('change',function(e){ var sortpage = $(this).val(); $.ajax({ url: 'getpage/', data: {'sortpage':sortpage}, type: "get", success: function (data) { console.log(data); } }); }); 配方(https://supermarket.chef.io/cookbooks/firewall)具有执行此功能的功能,但是在尝试将变量传递给块时出现错误。

如果我对IP地址/子网进行硬编码,则一切正常。如果我将完全相同的IP /子网放入文件中,则会收到“无效IP地址”错误。

在第一个 public function getpage(Request $request) { if ($request->sortpage==0) { dd('zero'); } } 块下面的代码中将执行,但是第二个及以后的带有firewall的块则不会执行。我也尝试过直接传递变量,而不是用字符串替换传递相同的结果。

firewall_rule

我猜这是一个语法问题,但是这似乎应该是正常的Ruby语法。看来配方可能正在以文字形式读取提供的变量?

1 个答案:

答案 0 :(得分:0)

文件插入空格或控制字符。进行subnet.strip解决了这个问题。