虽然能配置,我最后还是选择了用域名+端口访问服务器,服务器直接提供端口。
毕竟socket地址不暴漏给用户,没必要美观不美观的,还不会出错
配置参考地址 nginx支持socket吗
有个接口是通过socket通信,对端服务器访问存在IP限制,只好通过跳板机,因为它具备访问对端服务器的权限。nginx1.9开始支持tcp层的转发,通过stream实现的,而socket也是基于tcp通信。
实现过程:
1.安装nginx,stream模块默认不安装的,需要手动添加参数:–with-stream,根据自己系统版本选择nginx1.9或以上版本。
2.nginx.conf 配置,参考说明:ngx_stream_core_module
nginx.conf
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
|
请注意,stream配置不能放到http内,即不能放到/etc/nginx/conf.d/,因为stream是通过tcp层转发,而不是http转发。
如配置在http内,启动nginx会报如下错误:
1 |
|
3.在tcp.d下新建个bss_num_30001.conf文件,内容如下:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 |
|
4.重启nginx,访问localhost:30001,会跳转到bss_num_socket指定的转发地址130.51.11.33:19001。