PHP菜鸟博客_共同学习分享PHP技术心得【PHP爱好者】
阿里云函数计算访问外网接口的时候出口ip详细说明
2022-8-10 菜鸟站长


出口ip不固定



函数访问外网默认出口ip不是固定。随机的一个ip池。



     /**



      * 测试向外发送数据包



      */



 



    public function  test_senddata_to_out (){



       $url="http://wziyi.net/test/getdata_from_fc.php";



       echo file_get_contents($url);die;



    }



外部接口代码:



 



        echo "HTTP_CLIENT_IP:".$_SERVER['HTTP_CLIENT_IP'];



        echo "<br/>";



        echo "HTTP_X_FORWARDED_FOR:".$_SERVER['HTTP_X_FORWARDED_FOR'];



        echo "<br/>";



        echo "REMOTE_ADDR:".$_SERVER['REMOTE_ADDR'];



        



我们在通过浏览器访问test_senddata_to_out 的时候发现,打印出来的ip不固定






这种情况整好有利于调用的接口有ip限制频率的情况。因为ip会自动变化。但是不适应于那个ip白名单鉴权的接口。比如微信公众号获取accesstoken,让你填写白名单。



如何固定函数访问外网的出口ip



在函数上开启固定ip,然后关闭允许函数访问公网能力,就可以了。






固定ip需要你创建一个弹性公网ip+nat都是收费的,会增加额外的费用。然后还要关闭函数访问公网能力,否则出口ip还是变化的。



 



这是你会发现这个出口ip就变成了,弹性公网ip了。顺便说一句如果不想固定ip,同时又要调用有ip鉴权的接口,那么就把这样的接口拿到有固定ipecs,如果是微信生态的在使用腾讯的云函数或者云托管,在里面获取accesstoken还是免鉴权的,然后在把这个以http形式暴露在公网(自己做好加密以及签名鉴权等)。这样你在阿里云函数计算调用就可以了哇。

发表评论:
昵称

邮件地址 (选填)

个人主页 (选填)

内容