我是通过vps上的frp映射内网的80端口,然后nginx根据子域名 s.一级域名 访问。
具体配置如下:
seafile环境和版本:树莓派 buster armv7 seafile-server-7.1.5
frpc配置:
...
[web01]
type = http
local_port = 5212 # 同时还放了个cloudreve
custom_domains = i.一级域名
[web02]
type = http
local_port = 80
custom_domains = 一级域名
[seafile]
type = http
local_port = 80
custom_domains = s.一级域名
# 不知道是不是这里同时两个两个穿透到80端口的问题,因为要区分博客和网盘
nginx 网上教程配置的文件都不太一样,没太明白他们的关系,我配置的是
/etc/nginx/sites-available/default
文件如下:
server {
listen 80 default_server;
listen [::]:80 default_server;
root /home/pi/Blog/一级域名的博客/;
index index.html index.htm index.nginx-debian.html;
server_name 一级域名;
location / {
# First attempt to serve request as file, then
# as directory, then fall back to displaying a 404.
try_files $uri $uri/ =404;
}
}
server {
listen 80;
server_name s.一级域名;
proxy_set_header X-Forwarded-For $remote_addr;
location / {
proxy_pass http://127.0.0.1:8000;
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 X-Forwarded-Host $server_name;
proxy_read_timeout 1200s;
# used for view/edit office file via Office Online Server
client_max_body_size 0;
access_log /var/log/nginx/seahub.access.log;
error_log /var/log/nginx/seahub.error.log;
}
location /seafhttp {
rewrite ^/seafhttp(.*)$ $1 break;
proxy_pass http://127.0.0.1:8082;
client_max_body_size 0;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_connect_timeout 36000s;
proxy_read_timeout 36000s;
proxy_send_timeout 36000s;
proxy_request_buffering off;
send_timeout 36000s;
}
location /media {
root /home/seafile-server-latest/seahub;
}
}
初始教程的下载地址为:
http://s.一级域名/seafhttp/files/741bbd30-0a2f-4ee6-8555-516be5f5a715/seafile-tutorial.doc
页面提示:
对不起,你访问的页面不存在。
大概就是这样,如果在树莓派的浏览器里边用 localhost:8082
访问的话是可以下载文件的,但是外网就不行了。
希望大佬帮忙看看哪里出了问题