结构图如下,类似安卓APP外网访问内网。
困扰好久了,有意者请加我WX15804769890
cpolar
简单,首先你先保证你的 Seafile 内网使用都是正常的,然后只要把你的 HTTPS 端口映射出去就像了,登录映射后的链接,将后台的 SERVICE_URL 和 FILE_SERVER_ROOT 改为映射后的地址就行了,内外网都可以正常使用!!!
本来要截图,然而只允许我传一张图!!!合大图,闲着…
能加微嘛?你的这个方法我好像试过,行不通!
我来提供一个思路:通过得到广域网的地址来广播
就是上面说的cpolar,还有其他的好的话,求大家多多推荐
先安装cpolar和zerotier,这两个先研究一下
zerotier给自己ssh用,因为ip地址永远不会变
cpolar的ssh通道地址会变,广播二级域名也会变,这个时候可以选择买他们家的99一年服务,把二级域名固定下来
之后就是安装dockers,然后在dockers里面安装nginx和seafile
seafile的设置里把cpolar的广播二级域名地址放上去替代掉原本的ip就行
这里要重点说一下nginx,因为我自己还没搞懂哈哈哈
nginx是端口转发用的,就不知道如果这台机器只是单独跑seafile,那岂不是根本不需要nginx转发了么?之前是nginx直接安装在linux系统下的,但是搞得一团乱。现在放在dockers里,但是run不起来,不过目前seafile运转正常,就暂时不管nginx为啥没运转了(哈哈哈哈)
nginx还限制转发以后的文件上传大小,非常麻烦,这里可以看一下2BA.CC的回复(没测试但是看上去管用)
“进入 seafile 容器将 client_max_body_size 设置大点就行了
进入容器
docker exec -it seafile vim /shared/nginx/conf/seafile.nginx.conf
client_max_body_size 2G; # 找到这个改大点
保存,再重启Nginx服务
docker exec -it seafile /usr/sbin/nginx -s reload
基本搞定”
首先他的问题 主要是在内网app访问是固定路径的,比如正常访问x.x.x.26:80 映射后app访问 x.x.x.x/aaa/bbb ,这种方式seafile这里是不允许的
我使用的是自建内网穿透
所以我的做法是修改内网设备hosts文件或在路由器中 将域名绑定到这台机器的内网IP上,内网穿透也使用域名访问,然后将SERVICE_URL 和 FILE_SERVER_ROOT设置成这个域名。
之后的访问全部通过这个域名来访问,从而实现局域网直接连 公网走内网穿透的访问,省得在家在外切换地址了
请问一下,这样子内网中的其他设备也能通过这个hello.com使用吗
大佬的意思就是,x.x.x.x/aaa/bbb这种文件夹路径形式的,是不行的
一般都是ip地址:端口号,而且都是英文冒号
不过我自己用域名:端口号也可以
所以比较推荐这种
如果只是私用不想广播
甚至可以配合zerotier这一类直接玩起
我用的nginx,自己家宽带没有公网ip,用frp做了穿透,在家的电脑上,可以直接用ip访问seafile服务器,不走frp服务器,在外边用域名可以通过frp的服务器访问seafile服务器。
不知道你要的是不是这种效果