【发布时间】:2019-05-23 23:34:09
【问题描述】:
是否有使用 NodeJS 更新防火墙规则的 API,非常感谢一个示例。
要求:我有一个 1700 左右的 CDN 受信任 IP 列表,允许访问 GCP 中端口 80 上的特定 VM。
据我了解,每个防火墙规则最多可以有 256 个源 ip。我可以创建和更新其中的 8 个,并使用相同的名称进行标记,
问题:我们可以使用 NodeJS API 吗?
This API 不返回防火墙规则。
等价的cli命令如下
gcloud compute firewall-rules describe alltraffic
gcloud compute firewall-rules update alltraffic --source-ranges="14.201.176.140/32","14.201.176.144/32"
gcloud compute firewall-rules create ramtest1 --allow="tcp:80" --description="ramtest1" --source-ranges="205.251.192.0/19","52.95.174.0/24" --target-tags="tcp-111"
https://cloud.google.com/sdk/gcloud/reference/compute/firewall-rules/
在 nodejs api 中看不到更新命令 https://cloud.google.com/nodejs/docs/reference/compute/0.10.x/Firewall#create https://cloud.google.com/nodejs/docs/reference/compute/0.10.x/Compute#createFirewall
exports.run_process = async (req, res) => {
const Compute = require('@google-cloud/compute');
const compute = new Compute();
const network = compute.network('default');
const firewalls = (await network.getFirewalls())[0];
for(const firewall of firewalls) {
// console.log('firewall == '+JSON.stringify(firewall));
console.log('firewall = '+firewall.metadata.name);
if(firewall.metadata.name === 'alltraffic') {
console.log(' xxxxxxxxxxxxxxxxxxxx changing all traffic xxxxxxxxxxxxxx ');
}
}
return res.status(200).send('ok');
};
上面这段代码列出了防火墙规则,NFI为什么叫防火墙,在控制台叫防火墙规则,好混乱
【问题讨论】:
标签: node.js google-cloud-platform google-cloud-functions google-compute-engine google-api-nodejs-client