阿里云函数计算访问外网接口的时候出口ip详细说明
 出口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鉴权的接口,那么就把这样的接口拿到有固定ip的ecs,如果是微信生态的在使用腾讯的云函数或者云托管,在里面获取accesstoken还是免鉴权的,然后在把这个以http形式暴露在公网(自己做好加密以及签名鉴权等)。这样你在阿里云函数计算调用就可以了哇。
版权声明:若无特殊注明,本文皆为《菜鸟站长》原创,转载请保留文章出处。
本文链接:阿里云函数计算访问外网接口的时候出口ip详细说明 - https://wlphp.com/?post=366