问题描述
在Linux系统中使用如下命令可以获取当前实例的相关信息,具体方法请参考实例元数据。
curl http://100.100.100.200/latest/meta-data
但在系统内部使用该命令获取信息时,提示500错误。
问题原因
HTTP协议的500错误是应用层反馈的信息,所以网络是连通的。根据规则只有实例eth0网卡发送的请求,才会返回正确的数据。查看该实例有绑定弹性网卡,默认路由通过eth1网卡出去,导致元数据服务端不认,返回500错误。
解决方案
本文提供以下两种解决方案。
- 执行如下命令,直接指定eth0网卡发送curl请求。
curl --interface eth0 100.100.100.200/latest/meta-data
系统返回类似如下,请求成功。 - 执行如下命令,添加路由,指定到元数据服务器地址的路由从eth0网卡出去。
route add -host 100.100.100.200 dev eth0 gw 192.168.1.253
适用于
- 云服务器 ECS
文档内容是否对您有帮助?