问题描述
在使用golang
写websocket
服务时,不可避免需要使用gorilla/websocket
包.
在官方提供的example
示例中,监听的ip
都是localhost
, 但是当需要对外提供服务时,
我们需要把ip
改为0.0.0.0
或者具体的ip
。
此时如果使用gorilla/websocket
包写客户端的话,使用默认的DefaultDialer
去连接具体的ip
,
客户端报错Forbidden
解决办法
通过查看gorilla/websocket
包源码, 发现DefaultDialer
的结构为
|
|
ProxyFromEnvironment
函数会读取环境变量里的http_proxy
和https_proxy
代理, 我的测试环境是设置了代理,所以会报错。
解决方法是不使用DefaultDialer
,而是使用Dialer
结构体.
|
|