Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[QUESTION] 反代的问题,页面无法打开,总是报错 404 #405

Closed
yfdoor opened this issue Mar 25, 2023 · 18 comments
Closed

[QUESTION] 反代的问题,页面无法打开,总是报错 404 #405

yfdoor opened this issue Mar 25, 2023 · 18 comments
Assignees

Comments

@yfdoor
Copy link

yfdoor commented Mar 25, 2023

请描述您的问题

部署完成后,静态网站可以很顺利的开启,可是比如我想把 1panel 反代到 arm1.yyy.xyz/p 上,可是总是报 404 ,具体的配置文件如下,请帮忙看看哪里出了问题,另外是否考虑把反代写道 ui 里,而不是需要直接去修改配置文件,谢谢

server {
    listen 80 ; 
    listen 443  ssl; 
    server_name arm1.yyy.xyz; 
    index index.php index.html index.htm default.php default.htm default.html; 
    proxy_set_header Host $host; 
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; 
    proxy_set_header X-Forwarded-Host $server_name; 
    proxy_set_header X-Real-IP $remote_addr; 
    proxy_http_version 1.1; 
    proxy_set_header Upgrade $http_upgrade; 
    proxy_set_header Connection "upgrade"; 
    access_log /www/sites/yyy.xyz/log/access.log; 
    error_log /www/sites/yyy.xyz/log/error.log; 
    access_by_lua_file /www/common/waf/access.lua; 
    set $RulePath /www/sites/yyy.xyz/waf/rules; 
    set $logdir /www/sites/yyy.xyz/log; 
    set $redirect on; 
    set $attackLog on; 
    set $CCDeny off; 
    set $urlWhiteAllow on; 
    set $urlBlockDeny off; 
    set $argsDeny off; 
    set $postDeny off; 
    set $cookieDeny off; 
    set $fileExtDeny off; 
    set $ipBlockDeny off; 
    set $ipWhiteAllow off; 
    location ~ /.well-known/acme-challenge {
        allow all; 
        root /usr/share/nginx/html; 
    }
    root /www/sites/yyy.xyz/index; 
    if ($scheme = http) {
        return 301 https://$host$request_uri; 
    }
    ssl_certificate /www/sites/yyy.xyz/ssl/fullchain.pem; 
    ssl_certificate_key /www/sites/yyy.xyz/ssl/privkey.pem; 
    ssl_protocols TLSv1.3 TLSv1.2 TLSv1.1 TLSv1; 
    ssl_ciphers EECDH+CHACHA20:EECDH+CHACHA20-draft:EECDH+AES128:RSA+AES128:EECDH+AES256:RSA+AES256:EECDH+3DES:RSA+3DES:!MD5; 
    ssl_prefer_server_ciphers on; 
    ssl_session_cache shared:SSL:10m; 
    ssl_session_timeout 10m; 
    add_header Strict-Transport-Security "max-age=31536000"; 
    error_page 497 https://$host$request_uri; 
    proxy_set_header X-Forwarded-Proto https;     
   
    location /p {
        proxy_pass http://127.0.0.1:22262/;
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
    }    

    location /c {
        proxy_pass http://127.0.0.1:3002/;
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
    }
}
@yfdoor
Copy link
Author

yfdoor commented Mar 25, 2023

错误日志里的记录:

2023/03/25 12:24:00 [error] 726#726: *255 open() "/www/sites/yyy.xyz/index/assets/js/index-496d8636.js" failed (2: No such file or directory), client: 146.56.117.55, server: arm1.yyy.xyz, request: "GET /assets/js/index-496d8636.js HTTP/2.0", host: "arm1.yyy.xyz", referrer: "https://arm1.yyy.xyz/p"
2023/03/25 12:30:11 [error] 726#726: *260 open() "/www/sites/yyy.xyz/index/assets/css/index-f84a662f.css" failed (2: No such file or directory), client: 146.56.117.55, server: arm1.yyy.xyz, request: "GET /assets/css/index-f84a662f.css HTTP/2.0", host: "arm1.yyy.xyz", referrer: "https://arm1.yyy.xyz/p"
2023/03/25 12:30:11 [error] 726#726: *260 open() "/www/sites/yyy.xyz/index/assets/js/index-496d8636.js" failed (2: No such file or directory), client: 146.56.117.55, server: arm1.yyy.xyz, request: "GET /assets/js/index-496d8636.js HTTP/2.0", host: "arm1.yyy.xyz", referrer: "https://arm1.yyy.xyz/p"
2023/03/25 12:30:24 [error] 726#726: *260 open() "/www/sites/yyy.xyz/index/assets/css/index-f84a662f.css" failed (2: No such file or directory), client: 146.56.117.55, server: arm1.yyy.xyz, request: "GET /assets/css/index-f84a662f.css HTTP/2.0", host: "arm1.yyy.xyz", referrer: "https://arm1.yyy.xyz/p"
2023/03/25 12:30:24 [error] 726#726: *260 open() "/www/sites/yyy.xyz/index/assets/js/index-496d8636.js" failed (2: No such file or directory), client: 146.56.117.55, server: arm1.yyy.xyz, request: "GET /assets/js/index-496d8636.js HTTP/2.0", host: "arm1.yyy.xyz", referrer: "https://arm1.yyy.xyz/p"
2023/03/25 12:35:23 [error] 726#726: *263 open() "/www/sites/yyy.xyz/index/assets/css/index-f84a662f.css" failed (2: No such file or directory), client: 146.56.117.55, server: arm1.yyy.xyz, request: "GET /assets/css/index-f84a662f.css HTTP/2.0", host: "arm1.yyy.xyz", referrer: "https://arm1.yyy.xyz/p"
2023/03/25 12:35:23 [error] 726#726: *263 open() "/www/sites/yyy.xyz/index/assets/js/index-496d8636.js" failed (2: No such file or directory), client: 146.56.117.55, server: arm1.yyy.xyz, request: "GET /assets/js/index-496d8636.js HTTP/2.0", host: "arm1.yyy.xyz", referrer: "https://arm1.yyy.xyz/p"

@zhengkunwang223
Copy link
Collaborator

错误日志里的记录:

2023/03/25 12:24:00 [error] 726#726: *255 open() "/www/sites/yyy.xyz/index/assets/js/index-496d8636.js" failed (2: No such file or directory), client: 146.56.117.55, server: arm1.yyy.xyz, request: "GET /assets/js/index-496d8636.js HTTP/2.0", host: "arm1.yyy.xyz", referrer: "https://arm1.yyy.xyz/p"
2023/03/25 12:30:11 [error] 726#726: *260 open() "/www/sites/yyy.xyz/index/assets/css/index-f84a662f.css" failed (2: No such file or directory), client: 146.56.117.55, server: arm1.yyy.xyz, request: "GET /assets/css/index-f84a662f.css HTTP/2.0", host: "arm1.yyy.xyz", referrer: "https://arm1.yyy.xyz/p"
2023/03/25 12:30:11 [error] 726#726: *260 open() "/www/sites/yyy.xyz/index/assets/js/index-496d8636.js" failed (2: No such file or directory), client: 146.56.117.55, server: arm1.yyy.xyz, request: "GET /assets/js/index-496d8636.js HTTP/2.0", host: "arm1.yyy.xyz", referrer: "https://arm1.yyy.xyz/p"
2023/03/25 12:30:24 [error] 726#726: *260 open() "/www/sites/yyy.xyz/index/assets/css/index-f84a662f.css" failed (2: No such file or directory), client: 146.56.117.55, server: arm1.yyy.xyz, request: "GET /assets/css/index-f84a662f.css HTTP/2.0", host: "arm1.yyy.xyz", referrer: "https://arm1.yyy.xyz/p"
2023/03/25 12:30:24 [error] 726#726: *260 open() "/www/sites/yyy.xyz/index/assets/js/index-496d8636.js" failed (2: No such file or directory), client: 146.56.117.55, server: arm1.yyy.xyz, request: "GET /assets/js/index-496d8636.js HTTP/2.0", host: "arm1.yyy.xyz", referrer: "https://arm1.yyy.xyz/p"
2023/03/25 12:35:23 [error] 726#726: *263 open() "/www/sites/yyy.xyz/index/assets/css/index-f84a662f.css" failed (2: No such file or directory), client: 146.56.117.55, server: arm1.yyy.xyz, request: "GET /assets/css/index-f84a662f.css HTTP/2.0", host: "arm1.yyy.xyz", referrer: "https://arm1.yyy.xyz/p"
2023/03/25 12:35:23 [error] 726#726: *263 open() "/www/sites/yyy.xyz/index/assets/js/index-496d8636.js" failed (2: No such file or directory), client: 146.56.117.55, server: arm1.yyy.xyz, request: "GET /assets/js/index-496d8636.js HTTP/2.0", host: "arm1.yyy.xyz", referrer: "https://arm1.yyy.xyz/p"

静态网站目录下面有自己的网站资源吗 例如assets目录

@yfdoor
Copy link
Author

yfdoor commented Mar 25, 2023

错误日志里的记录:

2023/03/25 12:24:00 [error] 726#726: *255 open() "/www/sites/yyy.xyz/index/assets/js/index-496d8636.js" failed (2: No such file or directory), client: 146.56.117.55, server: arm1.yyy.xyz, request: "GET /assets/js/index-496d8636.js HTTP/2.0", host: "arm1.yyy.xyz", referrer: "https://arm1.yyy.xyz/p"
2023/03/25 12:30:11 [error] 726#726: *260 open() "/www/sites/yyy.xyz/index/assets/css/index-f84a662f.css" failed (2: No such file or directory), client: 146.56.117.55, server: arm1.yyy.xyz, request: "GET /assets/css/index-f84a662f.css HTTP/2.0", host: "arm1.yyy.xyz", referrer: "https://arm1.yyy.xyz/p"
2023/03/25 12:30:11 [error] 726#726: *260 open() "/www/sites/yyy.xyz/index/assets/js/index-496d8636.js" failed (2: No such file or directory), client: 146.56.117.55, server: arm1.yyy.xyz, request: "GET /assets/js/index-496d8636.js HTTP/2.0", host: "arm1.yyy.xyz", referrer: "https://arm1.yyy.xyz/p"
2023/03/25 12:30:24 [error] 726#726: *260 open() "/www/sites/yyy.xyz/index/assets/css/index-f84a662f.css" failed (2: No such file or directory), client: 146.56.117.55, server: arm1.yyy.xyz, request: "GET /assets/css/index-f84a662f.css HTTP/2.0", host: "arm1.yyy.xyz", referrer: "https://arm1.yyy.xyz/p"
2023/03/25 12:30:24 [error] 726#726: *260 open() "/www/sites/yyy.xyz/index/assets/js/index-496d8636.js" failed (2: No such file or directory), client: 146.56.117.55, server: arm1.yyy.xyz, request: "GET /assets/js/index-496d8636.js HTTP/2.0", host: "arm1.yyy.xyz", referrer: "https://arm1.yyy.xyz/p"
2023/03/25 12:35:23 [error] 726#726: *263 open() "/www/sites/yyy.xyz/index/assets/css/index-f84a662f.css" failed (2: No such file or directory), client: 146.56.117.55, server: arm1.yyy.xyz, request: "GET /assets/css/index-f84a662f.css HTTP/2.0", host: "arm1.yyy.xyz", referrer: "https://arm1.yyy.xyz/p"
2023/03/25 12:35:23 [error] 726#726: *263 open() "/www/sites/yyy.xyz/index/assets/js/index-496d8636.js" failed (2: No such file or directory), client: 146.56.117.55, server: arm1.yyy.xyz, request: "GET /assets/js/index-496d8636.js HTTP/2.0", host: "arm1.yyy.xyz", referrer: "https://arm1.yyy.xyz/p"

静态网站目录下面有自己的网站资源吗 例如assets目录

肯定没有啊,这是要反代到 1panel 上去,资源是要读取 1panel 的web资源啊

@zhengkunwang223
Copy link
Collaborator

错误日志里的记录:

2023/03/25 12:24:00 [error] 726#726: *255 open() "/www/sites/yyy.xyz/index/assets/js/index-496d8636.js" failed (2: No such file or directory), client: 146.56.117.55, server: arm1.yyy.xyz, request: "GET /assets/js/index-496d8636.js HTTP/2.0", host: "arm1.yyy.xyz", referrer: "https://arm1.yyy.xyz/p"

2023/03/25 12:30:11 [error] 726#726: *260 open() "/www/sites/yyy.xyz/index/assets/css/index-f84a662f.css" failed (2: No such file or directory), client: 146.56.117.55, server: arm1.yyy.xyz, request: "GET /assets/css/index-f84a662f.css HTTP/2.0", host: "arm1.yyy.xyz", referrer: "https://arm1.yyy.xyz/p"

2023/03/25 12:30:11 [error] 726#726: *260 open() "/www/sites/yyy.xyz/index/assets/js/index-496d8636.js" failed (2: No such file or directory), client: 146.56.117.55, server: arm1.yyy.xyz, request: "GET /assets/js/index-496d8636.js HTTP/2.0", host: "arm1.yyy.xyz", referrer: "https://arm1.yyy.xyz/p"

2023/03/25 12:30:24 [error] 726#726: *260 open() "/www/sites/yyy.xyz/index/assets/css/index-f84a662f.css" failed (2: No such file or directory), client: 146.56.117.55, server: arm1.yyy.xyz, request: "GET /assets/css/index-f84a662f.css HTTP/2.0", host: "arm1.yyy.xyz", referrer: "https://arm1.yyy.xyz/p"

2023/03/25 12:30:24 [error] 726#726: *260 open() "/www/sites/yyy.xyz/index/assets/js/index-496d8636.js" failed (2: No such file or directory), client: 146.56.117.55, server: arm1.yyy.xyz, request: "GET /assets/js/index-496d8636.js HTTP/2.0", host: "arm1.yyy.xyz", referrer: "https://arm1.yyy.xyz/p"

2023/03/25 12:35:23 [error] 726#726: *263 open() "/www/sites/yyy.xyz/index/assets/css/index-f84a662f.css" failed (2: No such file or directory), client: 146.56.117.55, server: arm1.yyy.xyz, request: "GET /assets/css/index-f84a662f.css HTTP/2.0", host: "arm1.yyy.xyz", referrer: "https://arm1.yyy.xyz/p"

2023/03/25 12:35:23 [error] 726#726: *263 open() "/www/sites/yyy.xyz/index/assets/js/index-496d8636.js" failed (2: No such file or directory), client: 146.56.117.55, server: arm1.yyy.xyz, request: "GET /assets/js/index-496d8636.js HTTP/2.0", host: "arm1.yyy.xyz", referrer: "https://arm1.yyy.xyz/p"

静态网站目录下面有自己的网站资源吗 例如assets目录

肯定没有啊,这是要反代到 1panel 上去,资源是要读取 1panel 的web资源啊

你的配置有问题。你是要通过域名,反向代理 1panel 的服务吗?

@yfdoor
Copy link
Author

yfdoor commented Mar 25, 2023

错误日志里的记录:

2023/03/25 12:24:00 [error] 726#726: *255 open() "/www/sites/yyy.xyz/index/assets/js/index-496d8636.js" failed (2: No such file or directory), client: 146.56.117.55, server: arm1.yyy.xyz, request: "GET /assets/js/index-496d8636.js HTTP/2.0", host: "arm1.yyy.xyz", referrer: "https://arm1.yyy.xyz/p"

2023/03/25 12:30:11 [error] 726#726: *260 open() "/www/sites/yyy.xyz/index/assets/css/index-f84a662f.css" failed (2: No such file or directory), client: 146.56.117.55, server: arm1.yyy.xyz, request: "GET /assets/css/index-f84a662f.css HTTP/2.0", host: "arm1.yyy.xyz", referrer: "https://arm1.yyy.xyz/p"

2023/03/25 12:30:11 [error] 726#726: *260 open() "/www/sites/yyy.xyz/index/assets/js/index-496d8636.js" failed (2: No such file or directory), client: 146.56.117.55, server: arm1.yyy.xyz, request: "GET /assets/js/index-496d8636.js HTTP/2.0", host: "arm1.yyy.xyz", referrer: "https://arm1.yyy.xyz/p"

2023/03/25 12:30:24 [error] 726#726: *260 open() "/www/sites/yyy.xyz/index/assets/css/index-f84a662f.css" failed (2: No such file or directory), client: 146.56.117.55, server: arm1.yyy.xyz, request: "GET /assets/css/index-f84a662f.css HTTP/2.0", host: "arm1.yyy.xyz", referrer: "https://arm1.yyy.xyz/p"

2023/03/25 12:30:24 [error] 726#726: *260 open() "/www/sites/yyy.xyz/index/assets/js/index-496d8636.js" failed (2: No such file or directory), client: 146.56.117.55, server: arm1.yyy.xyz, request: "GET /assets/js/index-496d8636.js HTTP/2.0", host: "arm1.yyy.xyz", referrer: "https://arm1.yyy.xyz/p"

2023/03/25 12:35:23 [error] 726#726: *263 open() "/www/sites/yyy.xyz/index/assets/css/index-f84a662f.css" failed (2: No such file or directory), client: 146.56.117.55, server: arm1.yyy.xyz, request: "GET /assets/css/index-f84a662f.css HTTP/2.0", host: "arm1.yyy.xyz", referrer: "https://arm1.yyy.xyz/p"

2023/03/25 12:35:23 [error] 726#726: *263 open() "/www/sites/yyy.xyz/index/assets/js/index-496d8636.js" failed (2: No such file or directory), client: 146.56.117.55, server: arm1.yyy.xyz, request: "GET /assets/js/index-496d8636.js HTTP/2.0", host: "arm1.yyy.xyz", referrer: "https://arm1.yyy.xyz/p"

静态网站目录下面有自己的网站资源吗 例如assets目录

肯定没有啊,这是要反代到 1panel 上去,资源是要读取 1panel 的web资源啊

你的配置有问题。你是要通过域名,反向代理 1panel 的服务吗?

嗯,是的,https://arm1.yyy.xyz 的 80/443 绑定的是一个静态站点,我现在想把 1panel 的 http://127.0.0.1:22262/ 绑定到 https://arm1.yyy.xyz/p 上,就不成功,另外一个 x-ui 也是通过相同的方式,就可以反代成功。

location /p/ {
    proxy_pass http://127.0.0.1:22262/;
    proxy_set_header Host $host;
    proxy_set_header X-Real-IP $remote_addr;
}

location /xui/ {
    proxy_pass http://127.0.0.1:7524/xui/;
    proxy_set_header Host $host;
    proxy_set_header X-Real-IP $remote_addr;
`}`

访问 https://arm1.yyy.xyz/p 是有这个页面的 loading ,可是就是进不去。
image

@yfdoor
Copy link
Author

yfdoor commented Mar 25, 2023

http://127.0.0.1:22262/

把 / 去掉试试

都试过了,去掉这个 / ,还有 去掉 location /p/ { 后面的那个 /, 还有把 127.0.0.1 改成 docker 的 172.17.0.1 这几种方式都试过了。。。

@bulesky89857
Copy link

xui 面板设置里是可以定义 面板“路径”的,但是1panel 并没有定义路径这个设置,所以,你自己写的那个/p 应该是无效的,是不是这个道理?

@bulesky89857
Copy link

我是这么揣测的,具体的我也不懂

@newcardriver
Copy link

这种反代确实不常见,一般都是一个二级域名,网上查一查nginx的这种反代方式吧,应该和这个面板服务没有啥关系,毕竟最终起效果的还是里面的具体服务。

@yfdoor
Copy link
Author

yfdoor commented Mar 25, 2023

我是这么揣测的,具体的我也不懂

#287 @bulesky89857 这个兄弟的似乎就是这种反代成功了,我给他留言了,不知道能不能看到。。。

@bulesky89857
Copy link

我是这么揣测的,具体的我也不懂

#287 @bulesky89857 这个兄弟的似乎就是这种反代成功了,我给他留言了,不知道能不能看到。。。
反代代码如下
########################################################################################
#PROXY-START/
location ~ ..(gif|jpg|jpeg|png|bmp|swf)$ {
proxy_pass http://127.0.0.1:端口号; #代理ip
expires 30d;
error_log /dev/null;
access_log off;
}
location ~ .
.(js|css)?$ {
proxy_pass http://127.0.0.1:端口号; #代理ip
expires 12h;
error_log /dev/null;
access_log off;
}
location / {
proxy_pass http://127.0.0.1:端口号; #代理ip
proxy_set_header HOST $host;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
#PROXY-END/
#########################################################################################################

@bulesky89857
Copy link

Reference

这个兄弟就是我。令外我这个反代是整个域名反代 location /

@bulesky89857
Copy link

你可以换成p试试

@yfdoor
Copy link
Author

yfdoor commented Mar 25, 2023

Reference

这个兄弟就是我。令外我这个反代是整个域名反代 location /

哈哈,这么乌龙啊,换成 /p 也试过了,没用

@bulesky89857
Copy link

Reference

这个兄弟就是我。令外我这个反代是整个域名反代 location /

哈哈,这么乌龙啊,换成 /p 也试过了,没用

你先把我发的反代代码反代成功后再折腾别的的

@zhengkunwang223
Copy link
Collaborator

Reference

这个兄弟就是我。令外我这个反代是整个域名反代 location /

哈哈,这么乌龙啊,换成 /p 也试过了,没用

可以参考如下设置

    location /p/ {
        proxy_pass http://127.0.0.1:端口/api; 
    }
    
    location /api/ {
        proxy_pass http://127.0.0.1:端口/api/; 
    }

     location ~ .*\.(gif|jpg|jpeg|bmp|png|ico|txt|js|css|svg)$
    {
       proxy_pass http://127.0.0.1:端口;
       expires      12h;
    }

@bulesky89857
Copy link

Reference

这个兄弟就是我。令外我这个反代是整个域名反代 location /

哈哈,这么乌龙啊,换成 /p 也试过了,没用

可以参考如下设置

    location /p/ {
        proxy_pass http://127.0.0.1:端口/api; 
    }
    
    location /api/ {
        proxy_pass http://127.0.0.1:端口/api/; 
    }

     location ~ .*\.(gif|jpg|jpeg|bmp|png|ico|txt|js|css|svg)$
    {
       proxy_pass http://127.0.0.1:端口;
       expires      12h;
    }

有效,进入到了登录页面,没有进一步测试。

@yfdoor
Copy link
Author

yfdoor commented Mar 26, 2023

Reference

这个兄弟就是我。令外我这个反代是整个域名反代 location /

哈哈,这么乌龙啊,换成 /p 也试过了,没用

可以参考如下设置

    location /p/ {
        proxy_pass http://127.0.0.1:端口/api; 
    }
    
    location /api/ {
        proxy_pass http://127.0.0.1:端口/api/; 
    }

     location ~ .*\.(gif|jpg|jpeg|bmp|png|ico|txt|js|css|svg)$
    {
       proxy_pass http://127.0.0.1:端口;
       expires      12h;
    }

有效,进入到了登录页面,没有进一步测试。

嗯,对 1panel 生效了。但是应该是只针对部分有效,不是对所有的(chatgpt-web 这个就不行),应该还是和被代理的程序,路径写法有关(相对或是绝对路径)。就是不知道是否 nginx 可以设置能够适配各种情况。

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

5 participants