国产+高潮+在线,国产 av 仑乱内谢,www国产亚洲精品久久,51国产偷自视频区视频,成人午夜精品网站在线观看

Websocket: Workerman + Nginx反代 下如何獲取用戶的IP

2d_gate

通過(guò) $connection->getRemoteIp() 所獲取的 IP 都是 127.0.0.1

trace 了一下代碼發(fā)現(xiàn) workerman 貌似最初是由以下方式獲取的
$new_socket = @stream_socket_accept($socket, 0, $remote_address);
網(wǎng)上找了下關(guān)于 stream_socket_accept 的信息但無(wú)果...

以下是 Nginx Conf:

server {
    listen 80;
    server_name example.com;

    location / {
        proxy_pass http://(..被誤判為站外連結(jié)..)127.0.0.1:2346;
        proxy_read_timeout 365d;

        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;

        proxy_http_version 1.1;
        proxy_set_header Upgrade $http_upgrade;
        proxy_set_header Connection "upgrade";
    }
}
7692 1 1
1個(gè)回答

walkor 打賞

proxy_set_header X-Real-IP $remote_addr;

你的代理上有這段,那么workerman可以通過(guò)讀取
$_SERVER來(lái)獲得客戶端ip。

  • 2d_gate 2016-09-05

    假設(shè)某個(gè)瞬間有很多用戶向 Websocket 發(fā)起連線,在 worker 的 onConnect 回調(diào)中記下的 $_SERVER['HTTP-X-REAL-IP'] 有可能會(huì)是錯(cuò)誤(被其他用戶的值給覆蓋)的嗎?

  • walkor 2016-09-05

    不會(huì)

  • 2d_gate 2016-09-05

    @1:thank you!

年代過(guò)于久遠(yuǎn),無(wú)法發(fā)表回答
??