概述
我使用this Websocket library和here中的示例来创建基于websockets的多个服务.
接收请求的主服务器是Nginx服务器,它根据其来源(基于域)转发请求,因此我可以确定收到的请求是针对websockets的.
然而问题在于:
public void onOpen(WebSocket ws, ClientHandshake handshake) {
System.out.println("-------------------------------");
System.out.println(ws.getRemoteSocketAddress());
System.out.println("-------------------------------");
}
getRemoteSocketAddress将始终返回nginx服务器IP,例如/192.168.1.100:43556
我的nginx配置是:
server{
listen 80;
server_name we.mydomain.com;
access_log /var/log/nginx/access-ws-debug.log;
error_log /var/log/nginx/error-ws-debug.log;
set_real_ip_from 192.168.1.0/24;
real_ip_header X-Real-IP;
real_ip_recursive on;
location / {
proxy_pass http://192.168.1.101:54321;
proxy_http_version 1.1;
pr
最后
以上就是明理曲奇为你收集整理的Java实现Nginx请求转发_java – 在Websocket上通过Nginx转发用户IP的全部内容,希望文章能够帮你解决Java实现Nginx请求转发_java – 在Websocket上通过Nginx转发用户IP所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复