如果您希望通过 http 访问上传到本地的文件,请在 config/autoload/server.php 配置中增加以下配置。
return [ 'settings' => [ ... // 将 public 替换为上传目录 'document_root' => BASE_PATH . '/public', 'enable_static_handler' => true, ], ];
Nginx 反向代理
# 至少需要一个 Hyperf 节点,多个配置多行
upstream hyperf {
    # Hyperf HTTP Server 的 IP 及 端口
    server 127.0.0.1:9501;
    server 127.0.0.1:9502;
}
server {
    # 监听端口
    listen 80; 
    # 绑定的域名,填写您的域名
    server_name proxy.hyperf.io;
    location / {
        # 将客户端的 Host 和 IP 信息一并转发到对应节点  
        proxy_set_header Host $http_host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        # 转发Cookie,设置 SameSite
        proxy_cookie_path / "/; secure; HttpOnly; SameSite=strict";
        # 执行代理访问真实服务器
        proxy_pass http://hyperf;
    }
}以上配置完成以后,需要在hyperf根目录下创建public目录,作为公共静态资源目录,hyperf默认没有创建。因为博主这里用的是删库塔,所以直接上图
这里hyperf运行端口是9609,运行根目录是:/www/wwwroot/xxx/backend,为了测试分别创建了static目录和static/1.css文件
在服务器上访问结果如下:
http://127.0.0.1:9609/static/1.css 返回正常,状态码:200
http://服务器公网IP:9609/static/1.css 访问超时,这里一般是防火墙没有放行,因为用的是腾讯云,在腾讯云安全组已经放行9606端口了,后来发现是宝塔上面没有放行,添加或端口放行以后,返回正常,状态码:200

http://反向代理代理域名/static/1.css nginx返回404,尝试修改了很多伪静态姿势无果, 最后在宝塔配置文件中发现了这几行代码

将其注释后,返回正常,问题解决
最后贴一下现在的伪静态设置
方法一,开启hyperf的静态资源方法
location /static {  
    expires 24h;
    error_log off;
    proxy_next_upstream http_502 http_504 error timeout invalid_header;  
    proxy_pass http://127.0.0.1:9609/static;  
    proxy_set_header Host 127.0.0.1;  
    proxy_set_header X-Forwarded-For $remote_addr;  
    break;
}
方法二,直接用nginx反射
location /static/{
    root "/www/wwwroot/***/backend/public/";
    break;
}无论从事什么行业,只要做好两件事就够了,一个是你的专业、一个是你的人品,专业决定了你的存在,人品决定了你的人脉,剩下的就是坚持,用善良專業和真诚赢取更多的信任。