Linux系统使用Docker搭建Traefik结合内网穿透实现公网访问管理界面

本文涉及的产品
文件存储 NAS,50GB 3个月
简介: Linux系统使用Docker搭建Traefik结合内网穿透实现公网访问管理界面


Zotero 是一款全能型 文献管理器,可以 存储、管理和引用文献,不但免费,功能还很强大实用。

Zotero 支持多端同步文献和笔记,但是,官方只给每个账号免费提供了300M的云存储空间,额外空间需要购买,不太划算。


经过我尝试某果云盘,某度云盘,某里云盘等各种云盘后,不是限制每月下载流量就是限存储空间,下载速度完全取决于冲不冲会员,课题组讨论的时候,你突然想到一个想法,需要根据某文献来向导师和同学解释,这时候某云盘的下载速度100k每秒,想想都刺激。


最终我采用的方式是使用Zotero官方支持的WebDAV功能,云同步文献信息和笔记信息,使用NAS作为WebDAV服务器+内网穿透实现公网条件下的多端同步,对比使用各种云盘,这种使用方式的优点如下:


容量完全取决于本地磁盘容量,可以自由扩展

上传下载同步速度是网盘的好几倍

资源存在本地,无需上传至流氓云盘,保证隐私

只需配置一次,后续可以固定使用

缺点如下:


需要自行配置WebDAV服务器


需要群晖NAS虚拟机/实体群晖NAS(也可以使用windows自带WebDAV作为服务器,本文介绍使用群晖NAS虚拟机搭建WebDAV服务器)

点击获取群晖虚拟机和使用方式:


百度网盘链接:


链接:https://pan.baidu.com/s/1XSShPW5WYEA4vVNZNmoY9g?pwd=6666 提取码:6666

一、Zotero安装教程

  • 下载地址:Zotero | Your personal research assistant
  • 默认安装即可


二、群晖NAS WebDAV设置

打开群晖 File Station ,在根目录中自行选择一个文件夹在其中新建 zotero 文件夹

我的路径是:/homes/zotero


点击打开套件中心,并搜索WebDAV,点击安装套件。

打开套件:


安装完成后,启动WebDAV服务,并勾选HTTP复选框

它的默认端口为5005端口,此处也可自行修改

点应用后,群晖nas部分设置完毕。

三、Zotero设置


首先,需要找到设置界面

WIN系统:编辑—首选项

MAC系统:点击菜单栏Zotero-首选项-同步

输入账号密码(第一次使用先创建账号)


选择 同步 , 成功登录后如下图所示,取消勾选红框部分

  • 红框处不要勾选,这样会将附件同步至官方云存储。
  • “我的文献” 同步方式 改为 WebDAV
  • 地址为 群晖nas局域网IP / homes
  • 用户名密码为群晖nas的用户名密码
  • 点击 验证服务器,显示如下说明成功链接nas WebDAV服务器:


选择 高级 —— 文件和文件夹

  • 数据存储位置选择 自定义 ,路径为: 网络/你的nas /homes/zotero (刚刚创建的路径)


上传一些文献,点击右上角 同步 按钮:

打开 群晖 nas WebDAV 路径查看是否上传相关文件:


成功上传,说明nas WebDAV 服务器正常工作,接下来我们使用内网穿透将群晖nas的 WebDAV 服务端口映射至公网,实现公网环境也能使用 群晖WebDAV的 同步功能。

四、使用公网地址同步Zotero文献库


我们需要在局域网内能访问群晖的电脑上安装不限流量可以免费使用的内网穿透软件**Cpolar**:


访问cpolar官网,注册一个账号,然后下载并安装客户端,具体安装教程可以参考官网文档教程。


Cpolar官网:https://www.cpolar.com/download


windows系统:在官网下载安装包后,双击安装包一路默认安装即可。

macos系统:Cpolar快速入门教程:macOS系列 - cpolar 极点云

也可以直接安装Cpolar 群晖套件:如何在群晖系统中安装cpolar(群晖7.X版) - cpolar 极点云


使用电脑本机安装和使用群晖套件安装两种方式都可以映射群晖WebDAV:


使用群晖Cpolar套件,WebUI是 【http://群晖局域网ip:9200】

使用电脑本机安装Cpolar,WebUI是 【http://本机局域网ip:9200】

使用cpolar账号登录,登录后即可看到cpolar web 配置界面:

点击**——隧道管理——创建隧道**:


  • 隧道名称:可自定义命名,注意不要与已有的隧道名称重复
  • 协议:选择tcp
  • 本地地址:群晖IP:5005
  • 域名类型:随机端口
  • 地区:选择China


隧道创建成功后,点击左侧的状态——在线隧道列表,查看所生成的公网访问地址.

保存这条公网地址: tcp://1.tcp.cpolar.cn:24087

打开另一台电脑的zotero软件,登陆同一zotero账户:

操作同上,选择WebDAV,下面的官方云服务取消打钩。

点击验证服务器,测试一下能否正常连接:


稍等一下,所有存在群晖nas /homes/zotero 路径下的可读文献就都同步过来了。

测试多端同步笔记:

打开一篇论文,高亮显示一段文字,再添加一个便签:


打开本机 成功同步:

五、使用永久固定公网地址同步Zotero文献库


为了更好地演示,我们在前述过程中使用了Cpolar生成的隧道,其公网地址是随机生成的。不便记忆,例如3ad5da5.r10.Cpolar.top,换个设备登陆还要去查这个地址,而且随机域名还是24小时变换,第二天登陆又要去查看新生成的地址。


所以我一般会提前在官网配置固定TCP地址,比较好记,每次登陆直接点开就能登陆,无需重新配置一遍地址。


官网控制面板,保留TCP:


Cpolar - secure introspectable tunnels to localhost

地址:选择China VIP / China VIP Top,记住选了什么,更新隧道处 选一样的。

保留成功,复制这条固定TCP地址:

我的固定地址是: 5.tcp.vip.cpolar.cn:10576

回到WebUI界面,修改下配置:


  • 隧道名称:可自定义命名,注意不要与已有的隧道名称重复
  • 协议:不变
  • 本地地址:不变
  • 域名类型:固定TCP
  • 预留的TCP:复制粘贴上述固定地址
  • 地区:选择相同地区

点击更新

隧道更新后,点击左侧的状态——在线隧道列表,查看所生成的固定公网地址.


使用固定地址同步WebDAV:

回到另一台电脑,打开同步设置界面:

将原来的随机临时TCP地址更换为我们在官网控制台保留的 永久固定TCP地址,其他不需要修改

再次验证:


成功与本地群晖NAS WebDAV服务器建立链接,使用固定地址后,就是永久不变的,不用像使用网盘一样担心会员到期,下载速度被限制等等,所以资源都存在本地,保证隐私,安全又放心。


相关实践学习
基于ECS和NAS搭建个人网盘
本场景主要介绍如何基于ECS和NAS快速搭建个人网盘。
阿里云文件存储 NAS 使用教程
阿里云文件存储(Network Attached Storage,简称NAS)是面向阿里云ECS实例、HPC和Docker的文件存储服务,提供标准的文件访问协议,用户无需对现有应用做任何修改,即可使用具备无限容量及性能扩展、单一命名空间、多共享、高可靠和高可用等特性的分布式文件系统。 产品详情:https://www.aliyun.com/product/nas
相关文章
|
4月前
|
安全 Linux
Linux通配符及其在文件搜索和管理中的应用
Linux通配符及其在文件搜索和管理中的应用
|
5月前
|
Java Linux
Linux上管理不同版本的 JDK
Linux上管理不同版本的 JDK
253 0
|
4月前
|
Linux
入职必会-开发环境搭建37-Linux常用操作-Linux服务管理
系统启动以后一直存在且常驻内存没有界面的进程就是服务。Linux系统中的所有服务都保存在下列目录中:/usr/lib/systemd/system,进入该目录就能看到所有的服务。
入职必会-开发环境搭建37-Linux常用操作-Linux服务管理
|
3月前
|
Linux 网络安全 Windows
[linux]frp内网穿透
[linux]frp内网穿透
|
4月前
|
Linux
Linux 中RPM软件包管理
Linux 中RPM软件包管理
|
4月前
|
SQL 自然语言处理 网络协议
【Linux开发实战指南】基于TCP、进程数据结构与SQL数据库:构建在线云词典系统(含注册、登录、查询、历史记录管理功能及源码分享)
TCP(Transmission Control Protocol)连接是互联网上最常用的一种面向连接、可靠的、基于字节流的传输层通信协议。建立TCP连接需要经过著名的“三次握手”过程: 1. SYN(同步序列编号):客户端发送一个SYN包给服务器,并进入SYN_SEND状态,等待服务器确认。 2. SYN-ACK:服务器收到SYN包后,回应一个SYN-ACK(SYN+ACKnowledgment)包,告诉客户端其接收到了请求,并同意建立连接,此时服务器进入SYN_RECV状态。 3. ACK(确认字符):客户端收到服务器的SYN-ACK包后,发送一个ACK包给服务器,确认收到了服务器的确
190 1
|
5月前
|
Linux
【Linux 基础】文件与目录管理
文件和目录的基本概念以及常用命令
58 11
|
4月前
|
监控 安全 Unix
探索Linux命令repo-rss:管理仓库更新的新视角
`repo-rss`是一个设想中的Linux工具,用于通过RSS订阅跟踪软件仓库更新。它能订阅仓库、检测更新、生成RSS feed并发送通知。主要特点包括实时性、灵活性、自动化和可扩展性。用户可定制订阅、时间间隔及输出格式。示例用法包括订阅Debian仓库、将更新输出为RSS文件或发送至邮箱。使用时需注意安全、资源消耗和隐私,最佳实践包括定期评估、自动化处理、多源订阅和备份。此工具展示了RSS在软件管理中的创新应用。
|
5月前
|
Linux 网络安全 开发工具
Linux 管理远程会话 screen:掌握终端的多任务操作
`Linux screen` 命令让多任务管理变得更简单,尤其在SSH连接远程服务器时。创建新会话如`screen -S backup`,查看会话`screen -ls`,退出`exit`。高级功能包括直接在会话中运行命令,如`screen vim memo.txt`,会话共享以协同工作,以及通过`screen -r`或`-D -r`重新连接或强制恢复断开的会话。提高效率,确保任务不间断运行。
97 1
|
5月前
|
安全 Linux 数据处理
探索Linux的kmod命令:管理内核模块的利器
`kmod`是Linux下管理内核模块的工具,用于加载、卸载和管理模块及其依赖。使用`kmod load`来加载模块,`kmod remove`卸载模块,`kmod list`查看已加载模块,`kmod alias`显示模块别名。注意需有root权限,且要考虑依赖关系和版本兼容性。最佳实践包括备份、查阅文档和使用额外的管理工具。