hsuyelin / nas-tools

NAS媒体库管理工具
GNU Affero General Public License v3.0
2.48k stars 474 forks source link

[错误报告]:“探索”选项下的“Bangumi”中列出的项目封面当为反向代理时显示失败 #185

Closed LoSiTeE closed 1 year ago

LoSiTeE commented 1 year ago

确认

当前程序版本

3.3.3.2

问题类型

主程序运行问题

问题描述

问题同标题。测试发现,当部署反向代理,并通过外部网络访问nastool时会发生这个问题。如果在局域网内直接访问,封面图则是正常的。我的反代工具是Nginx-Proxy-Manager。发生问题的截图如下

Screenshot_20230903_235227

发生问题时系统日志和配置文件

No response

hsuyelin commented 1 year ago

nginx反向代理的配置文件怎么写的

LoSiTeE commented 1 year ago

nginx反向代理的配置文件怎么写的

emmm,直接用图形界面配置的,不知道咋查看配置文件…需要的话可以截图,或者明天我看看能不能找找对应的配置文件

hsuyelin commented 1 year ago

nginx反向代理的配置文件怎么写的

emmm,直接用图形界面配置的,不知道咋查看配置文件…需要的话可以截图,或者明天我看看能不能找找对应的配置文件

不过还是建议你看下反代配置或者bangumi反代需要设置什么,应该和本程序无关

jackloves111 commented 1 year ago

image 这个问题描述的不明确,我明确一下,应该是这个“BANGUMI”,通过Nginx-Proxy-Manager反向代理后会不显示封面。豆瓣和TMDB正常。Nginx-Proxy-Manager反向代理是一个软件,针对小白用户,UI界面操作,无需配置。我自己不太用“BANGUMI”,所以没管,实际确实有这个问题。 image

LoSiTeE commented 1 year ago

nginx反向代理的配置文件怎么写的

emmm,直接用图形界面配置的,不知道咋查看配置文件…需要的话可以截图,或者明天我看看能不能找找对应的配置文件

不过还是建议你看下反代配置或者bangumi反代需要设置什么,应该和本程序无关

我会再找一下看看有没有解决办法。但是官方版本的一直没有这个封面加载失败的问题,所以不排除bug的可能性,我尝试一下自行解决,如果还是有问题我会持续反馈

LoSiTeE commented 1 year ago

image 这个问题描述的不明确,我明确一下,应该是这个“BANGUMI”,通过Nginx-Proxy-Manager反向代理后会不显示封面。豆瓣和TMDB正常。Nginx-Proxy-Manager反向代理是一个软件,针对小白用户,UI界面操作,无需配置。我自己不太用“BANGUMI”,所以没管,实际确实有这个问题。 image

@hsuyelin

LoSiTeE commented 1 year ago

nginx反向代理的配置文件怎么写的

大佬,自行解决问题失败了。网上没有任何关于此错误的信息,包括之前官方的github项目的issue也没有这种情况。现将我自己群晖上部署的nginx-proxy-manager配置文件贴出,请帮忙看一下问题所在。下面开始都是配置文件内容,排版无能,凑合看一下……

------------------------------------------------------------

xxx.xxx.cc(域名)

------------------------------------------------------------

server { set $forward_scheme http; set $server "192.168.86.28"; set $port 3001;

listen 80; listen [::]:80;

listen 443 ssl http2; listen [::]:443 ssl http2;

server_name xxx.xxx.cc(域名);

Let's Encrypt SSL

include conf.d/include/letsencrypt-acme-challenge.conf; include conf.d/include/ssl-ciphers.conf; ssl_certificate /etc/letsencrypt/live/npm-39/fullchain.pem; ssl_certificate_key /etc/letsencrypt/live/npm-39/privkey.pem;

Block Exploits

include conf.d/include/block-exploits.conf;

HSTS (ngx_http_headers_module is required) (63072000 seconds = 2 years)

add_header Strict-Transport-Security "max-age=63072000; preload" always;

# Force SSL
include conf.d/include/force-ssl.conf;

proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection $http_connection; proxy_http_version 1.1;

access_log /data/logs/proxy-host-13_access.log proxy; error_log /data/logs/proxy-host-13_error.log warn;

location / {

HSTS (ngx_http_headers_module is required) (63072000 seconds = 2 years)

add_header Strict-Transport-Security "max-age=63072000; preload" always;

proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection $http_connection;
proxy_http_version 1.1;

# Proxy!
include conf.d/include/proxy.conf;

}

Custom

include /data/nginx/custom/server_proxy[.]conf; }

hsuyelin commented 1 year ago

没用过你那个,我直接用的nginx反向代理是可以的,你参考下,和本程序没有关系的需要你自己解决了

server {
    listen 80;
    server_name nastools.xxxx.top;
    return 301 https://nastools.xxxx.top$request_uri;
}

server {
    listen       443 ssl http2;
    listen       [::]:443 ssl http2;
    server_name nastools.duffy.top;
    ssl_certificate "/etc/certificate/xxxx.top/nastools.xxxx.top.pem";
    ssl_certificate_key "/etc/certificate/xxxx.top/nastools.xxxx.top.key";
    ssl_session_cache shared:SSL:1m;
    ssl_session_timeout  10m;
    ssl_ciphers HIGH:!aNULL:!MD5;
    ssl_prefer_server_ciphers on;

    location / {
        proxy_pass http://127.0.0.1:3000;
        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;

        proxy_set_header Upgrade $http_upgrade;
        proxy_set_header Connection "upgrade";
        proxy_set_header Connection keep-alive;
        # Expect for doris
        proxy_set_header Expect $http_expect;

        proxy_connect_timeout 7d;
        proxy_send_timeout 7d;
        proxy_read_timeout 7d;
    }
}
LoSiTeE commented 1 year ago

没用过你那个,我直接用的nginx反向代理是可以的,你参考下,和本程序没有关系的需要你自己解决了

server {
    listen 80;
    server_name nastools.xxxx.top;
    return 301 https://nastools.xxxx.top$request_uri;
}

server {
    listen       443 ssl http2;
    listen       [::]:443 ssl http2;
    server_name nastools.duffy.top;
    ssl_certificate "/etc/certificate/xxxx.top/nastools.xxxx.top.pem";
    ssl_certificate_key "/etc/certificate/xxxx.top/nastools.xxxx.top.key";
    ssl_session_cache shared:SSL:1m;
    ssl_session_timeout  10m;
    ssl_ciphers HIGH:!aNULL:!MD5;
    ssl_prefer_server_ciphers on;

    location / {
        proxy_pass http://127.0.0.1:3000;
        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;

        proxy_set_header Upgrade $http_upgrade;
        proxy_set_header Connection "upgrade";
        proxy_set_header Connection keep-alive;
        # Expect for doris
        proxy_set_header Expect $http_expect;

        proxy_connect_timeout 7d;
        proxy_send_timeout 7d;
        proxy_read_timeout 7d;
    }
}

我又研究了一下,解决了。需要将nginx-proxy-manager中nastool反代设置里的“阻止常见漏洞”选项关闭就正常了。如果有其他人再提这个问题,可以让他们看这个issue

LoSiTeE commented 1 year ago

image 这个问题描述的不明确,我明确一下,应该是这个“BANGUMI”,通过Nginx-Proxy-Manager反向代理后会不显示封面。豆瓣和TMDB正常。Nginx-Proxy-Manager反向代理是一个软件,针对小白用户,UI界面操作,无需配置。我自己不太用“BANGUMI”,所以没管,实际确实有这个问题。 image

我又研究了一下,解决了。需要将nginx-proxy-manager中nastool反代设置里的“阻止常见漏洞”选项关闭就正常了。你可以试一下

jackloves111 commented 1 year ago

image 这个问题描述的不明确,我明确一下,应该是这个“BANGUMI”,通过Nginx-Proxy-Manager反向代理后会不显示封面。豆瓣和TMDB正常。Nginx-Proxy-Manager反向代理是一个软件,针对小白用户,UI界面操作,无需配置。我自己不太用“BANGUMI”,所以没管,实际确实有这个问题。 image

我又研究了一下,解决了。需要将nginx-proxy-manager中nastool反代设置里的“阻止常见漏洞”选项关闭就正常了。你可以试一下

我试了一下,确实,关掉“阻止常见漏洞”选项关闭就正常了。可以👍👍👍