数据库 - Model 前置说明
官方开源项目 抓取代理IP

为什么要反向代理

由于 Swoole Server 对 HTTP 协议的支持并不完整,建议仅将 SW-X 作为后端服务,并且在前端增加 NGINX 或 APACHE 作为代理,参照下面的例子添加转发规则

Nginx

server {
    root 绑定个目录,但不建议指定到server的目录,这样不安全;
    server_name 你的域名;

    # 解决静态文化访问问题
    # 注意:2.0.7版本后支持在框架配置文件中直接设置静态文件访问目录
    location /public/ {
        root 你的静态根地址,不能带public;
    }

    location / {
        proxy_http_version 1.1;
        proxy_set_header Connection "keep-alive";
        proxy_set_header X-Real-IP $remote_addr;
        if (!-f $request_filename) {
            proxy_pass http://127.0.0.1:9502;
        }
    }
}

代理之后,可通过$this->header()中的x-real-ip获取客户端真实ip

Apache

<IfModule mod_rewrite.c>
    Options +FollowSymlinks
    RewriteEngine On
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteCond %{REQUEST_FILENAME} !-f
    #RewriteRule ^(.*)$ index.php/$1 [QSA,PT,L]  fcgi下无效
    RewriteRule ^(.*)$  http://127.0.0.1:9502/$1 [QSA,P,L]
    #请开启 proxy_mod proxy_http_mod request_mod
</IfModule>

SW-X

企业级 - 高性能 PHP 框架

最后更新:3年前 . 作者-小黄牛

本篇目录