问题描述:
通过gin框架在虚拟机centos7上起了一个简单的web服务:
package main
import "github.com/gin-gonic/gin"
func main(){
r:=gin.Default()
r.GET("/ping",func(c *gin.Context){
c.JSON(200,gin.H{
"message":"pong",
})
})
r.Run()
}
在虚拟机和主机可以相互ping通的情况下,无法在主机上通过浏览器获取虚拟机的web响应。
解决方法
虚拟机系统的8080端口未开放,可通过如下命令查看:
lsof -i:8080
如果没有任何内容显示,说明端口未开放。
开启端口:
/sbin/iptables -I INPUT -p tcp --dport 8080 -j ACCEPT
再次查看:
lsof -i:8080
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
test 4060 root 3u IPv6 54598 0t0 TCP *:webcache (LISTEN)
开启成功后,再次访问web,获得 响应: