大佬救命!部署代理的问题!

客户端服务端(端口不同)是在同一台服务器上的
服务端能正常访问
部署代理的问题

客户端项目报404
部署代理的问题

我nginx代理了,但还是没解决,是不是配置的有问题?我是想路径碰到/api/就替换成/同时代理到47.94.250.51:8000

大佬救命!部署代理的问题!

《L04 微信小程序从零到发布》
从小程序个人账户申请开始,带你一步步进行开发一个微信小程序,直到提交微信控制台上线发布。
《L02 从零构建论坛系统》
以构建论坛项目 LaraBBS 为线索,展开对 Laravel 框架的全面学习。应用程序架构思路贴近 Laravel 框架的设计哲学。
最佳答案

哦哦,我知道了,是我配置反了,应该配置再客户端项目才对!

1周前 评论
Coolr 1周前
PHP大佬 (作者) (楼主) 1周前
讨论数量: 19
  • 可以试试
    ### 代理服务器
    upstream hyperf_work {
            # 执行代理访问真实服务器   
           server 10.28.146.120:9501;
    }

转发到 缓存无服务

location ~* /api/v1/ {
                ######## 跨越处理
                add_header Content-Type 'application/json; charset-utf-8';
                add_header Access-Control-Allow-Credentials 'true';
                add_header Access-Control-Allow-Headers 'Origin, No-Cache, X-Requested-With, If-Modified-Since, Pragma, Last-Modified, Cache-Control, Expires, Content-Type, X-E4M-With, Authorization, Version, Device-Type, Application-Type, Payload, Signature, AppId, AppType,Content-Disposition,Cache-Control';
                add_header Access-Control-Allow-Origin '*';
                add_header Access-Control-Allow-Methods 'GET, POST, PUT, DELETE, OPTIONS';
                add_header Access-Control-Max-Age '86400';
                if ($request_method = 'OPTIONS') {
                         return 204;
               }
                 proxy_set_header Host $http_host;
                 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_set_header    HTTP_X_FORWARDED_FOR $remote_addr;
                 proxy_connect_timeout   10;
                 proxy_buffering off;
                 chunked_transfer_encoding off;
                 proxy_cache off;
                 proxy_send_timeout      30m;
                 proxy_read_timeout      30m;
                 client_max_body_size    100m;
                 # 转发Cookie,设置 SameSite
                 proxy_cookie_path / "/; secure; HttpOnly; SameSite=strict";
                 proxy_pass http://hyperf_work;
         }
1周前 评论
PHP大佬 (楼主) 1周前

客户端请求用get

1周前 评论
PHP大佬 (楼主) 1周前
deatil (作者) 1周前
deatil (作者) 1周前
PHP大佬 (楼主) 1周前
PHP大佬 (楼主) 1周前

@Coolr 还是不行,是不是我配的有问题?

### 代理服务器
upstream cw_work {
    # 执行代理访问真实服务器   
    server 47.94.250.51:8000;
}

server
{
    listen 8000;
    server_name 47.94.250.51_8000;
    index index.php index.html index.htm default.php default.htm default.html;
    root /www/wwwroot/cover-wechat-backend/public;
    #CERT-APPLY-CHECK--START
    # 用于SSL证书申请时的文件验证相关配置 -- 请勿删除
    include /www/server/panel/vhost/nginx/well-known/47.94.250.51_8000.conf;
    #CERT-APPLY-CHECK--END

    #SSL-START SSL相关配置,请勿删除或修改下一行带注释的404规则
    #error_page 404/404.html;
    #SSL-END

    #ERROR-PAGE-START  错误页配置,可以注释、删除或修改
    error_page 404 /404.html;
    #error_page 502 /502.html;
    #ERROR-PAGE-END

    #PHP-INFO-START  PHP引用配置,可以注释或修改
    include enable-php-81.conf;
    #PHP-INFO-END

    #REWRITE-START URL重写规则引用,修改后将导致面板设置的伪静态规则失效
    include /www/server/panel/vhost/rewrite/47.94.250.51_8000.conf;
    #REWRITE-END

    location ~* /api/ {
      ######## 跨越处理
      add_header Content-Type 'application/json; charset-utf-8';
      add_header Access-Control-Allow-Credentials 'true';
      add_header Access-Control-Allow-Headers 'Origin, No-Cache, X-Requested-With, If-Modified-Since, Pragma, Last-Modified, Cache-Control, Expires, Content-Type, X-E4M-With, Authorization, Version, Device-Type, Application-Type, Payload, Signature, AppId, AppType,Content-Disposition,Cache-Control';
      add_header Access-Control-Allow-Origin '*';
      add_header Access-Control-Allow-Methods 'GET, POST, PUT, DELETE, OPTIONS';
      add_header Access-Control-Max-Age '86400';
      if ($request_method = 'OPTIONS') {
               return 204;
      }
       proxy_set_header Host $http_host;
       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_set_header    HTTP_X_FORWARDED_FOR $remote_addr;
       proxy_connect_timeout   10;
       proxy_buffering off;
       chunked_transfer_encoding off;
       proxy_cache off;
       proxy_send_timeout      30m;
       proxy_read_timeout      30m;
       client_max_body_size    100m;
       # 转发Cookie,设置 SameSite
       proxy_cookie_path / "/; secure; HttpOnly; SameSite=strict";
       proxy_pass http://cw_work;
    }

    #禁止访问的文件或目录
    location ~ ^/(\.user.ini|\.htaccess|\.git|\.env|\.svn|\.project|LICENSE|README.md)
    {
        return 404;
    }

    #一键申请SSL证书验证目录相关设置
    location ~ \.well-known{
        allow all;
    }

    #禁止在证书验证目录放入敏感文件
    if ( $uri ~ "^/\.well-known/.*\.(php|jsp|py|js|css|lua|ts|go|zip|tar\.gz|rar|7z|sql|bak)$" ) {
        return 403;
    }

    location ~ .*\.(gif|jpg|jpeg|png|bmp|swf)$
    {
        expires      30d;
        error_log /dev/null;
        access_log /dev/null;
    }

    location ~ .*\.(js|css)?$
    {
        expires      12h;
        error_log /dev/null;
        access_log /dev/null;
    }

    access_log  /www/wwwlogs/47.94.250.51_8000.log;
    error_log  /www/wwwlogs/47.94.250.51_8000.error.log;
}
1周前 评论
Coolr 1周前
PHP大佬 (作者) (楼主) 1周前

这是web的,上面的是api的@

server
{
    listen 5173;
    server_name 47.94.250.51;
    index index.php index.html index.htm default.php default.htm default.html;
    root /www/wwwroot/cover-wechat-front/dist;
    #CERT-APPLY-CHECK--START
    # 用于SSL证书申请时的文件验证相关配置 -- 请勿删除
    include /www/server/panel/vhost/nginx/well-known/47.94.250.51.conf;
    #CERT-APPLY-CHECK--END

    #SSL-START SSL相关配置,请勿删除或修改下一行带注释的404规则
    #error_page 404/404.html;
    #SSL-END

    #ERROR-PAGE-START  错误页配置,可以注释、删除或修改
    error_page 404 /404.html;
    #error_page 502 /502.html;
    #ERROR-PAGE-END

    #PHP-INFO-START  PHP引用配置,可以注释或修改
    include enable-php-81.conf;
    #PHP-INFO-END

    #REWRITE-START URL重写规则引用,修改后将导致面板设置的伪静态规则失效
    include /www/server/panel/vhost/rewrite/47.94.250.51.conf;
    #REWRITE-END

    #禁止访问的文件或目录
    location ~ ^/(\.user.ini|\.htaccess|\.git|\.env|\.svn|\.project|LICENSE|README.md)
    {
        return 404;
    }

    #一键申请SSL证书验证目录相关设置
    location ~ \.well-known{
        allow all;
    }

    #禁止在证书验证目录放入敏感文件
    if ( $uri ~ "^/\.well-known/.*\.(php|jsp|py|js|css|lua|ts|go|zip|tar\.gz|rar|7z|sql|bak)$" ) {
        return 403;
    }

    location ~ .*\.(gif|jpg|jpeg|png|bmp|swf)$
    {
        expires      30d;
        error_log /dev/null;
        access_log /dev/null;
    }

    location ~ .*\.(js|css)?$
    {
        expires      12h;
        error_log /dev/null;
        access_log /dev/null;
    }
    access_log  /www/wwwlogs/47.94.250.51.log;
    error_log  /www/wwwlogs/47.94.250.51.error.log;
}
1周前 评论

把代理 内容 加到 web站点 里面 ,还有(先确定两个站点都能独立访问 ) 你的api站点都不能访问?

1周前 评论
PHP大佬 (楼主) 1周前

哦哦,我知道了,是我配置反了,应该配置再客户端项目才对!

1周前 评论
Coolr 1周前
PHP大佬 (作者) (楼主) 1周前

:grin:想知道有没有挨艹

1周前 评论

中文转码都不喜欢配置编码协议吗 :joy:

1周前 评论

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!