首页
归档
友链
微语
工具
更多
壁纸
推荐
文件
Search
1
unraid 6.8.2无损升级6.9.1教程
11,470 阅读
2
docker-compose部署kodbox
2,202 阅读
3
树莓派NAS(二)——OpenMediaVault安装
2,199 阅读
4
CloudFlare Workers 反代任意网站
2,071 阅读
5
树莓派NAS(三)——OpenMediaVault的基本设置
1,978 阅读
开发
微服务
DotNet
数据库
Docker
缓存
k8s
Consul
Net Core
IdentityServer
工控
SqlServer
MySql
系统
Windows
Linux
建站
CDN
DNS
Typecho
Github
GitHub Actions
Nas
其它
登录
Search
标签搜索
Docker
Linux
NAS
树莓派
阿里云盘
CDN
Windows10
Asp .Net Core
C#
Github
Docker Compose
CentOS
WSL
运维
OpenMediaVault
微服务
Consul
服务发现
Typecho
SQL
枫殇NET开发
累计撰写
59
篇文章
累计收到
165
条评论
首页
栏目
开发
微服务
DotNet
数据库
Docker
缓存
k8s
Consul
Net Core
IdentityServer
工控
SqlServer
MySql
系统
Windows
Linux
建站
CDN
DNS
Typecho
Github
GitHub Actions
Nas
其它
页面
归档
友链
微语
工具
壁纸
推荐
文件
搜索到
59
篇与
的结果
2024-07-24
树莓派NAS(九)-私有云盘之NextCloud的安装与使用
本文详细介绍了在树莓派OpenMediaVault中安装和使用NextCloud的全过程,帮助用户构建私有云存储系统,实现高效的文件共享和管理。
2024年07月24日
190 阅读
0 评论
0 点赞
2024-07-24
树莓派NAS(四)-OpenMediaVault存储管理
OpenMediaVault(OMV)是一款基于Debian的开源网络存储(NAS)解决方案,提供了丰富的存储管理功能。无论我们是家庭用户还是小型企业,OMV都能帮助我们高效地管理和利用存储资源。本文将详细介绍OMV的存储管理功能及其设置方法,帮助我们构建可靠的网络存储解决方案。文件系统管理在使用OMV之前,我们首先需要了解文件系统的管理。文件系统是存储设备的基础,在存储数据前我们需要对存储设备进行格式化和挂载。OMV支持多种文件系统,如ext4、XFS和Btrfs。首先,我们需要通过Web管理界面访问OMV的文件系统设置。在左侧导航栏中,选择“存储” > “文件系统”。这里可以看到所有已连接的存储设备和现有的文件系统。创建文件系统 在添加新的存储设备后,我们需要先格式化该设备:点击“创建”按钮,选择目标存储设备。在弹出的窗口中,选择文件系统类型。我们通常选择ext4,因为它在Linux系统中有着广泛的支持和稳定的表现。确认选择后,点击“确定”开始创建文件系统。这一过程可能需要几分钟时间,具体取决于存储设备的大小。创建文件系统后,我们需要将其挂载才能使用。在文件系统页面中,选择刚创建的文件系统,点击“挂载”按钮。挂载完成后,该存储设备将显示为可用状态。共享文件夹管理有了文件系统后,我们需要创建共享文件夹以便存储和管理数据。在左侧导航栏中,选择“存储” > “共享文件夹”。创建共享文件夹点击“添加”按钮,进入新建共享文件夹的界面。在弹出的窗口中,选择文件系统,并输入共享文件夹的名称。设置共享文件夹的路径和权限。默认情况下,OMV会将共享文件夹存储在选择的文件系统根目录下。保存设置后,共享文件夹会出现在共享文件夹列表中。配置共享服务为了让其他设备访问这些共享文件夹,我们需要配置共享服务。OMV支持多种共享协议,包括SMB/CIFS、NFS和FTP。配置SMB/CIFS共享 SMB/CIFS是最常用的文件共享协议,尤其是在Windows网络中。以下是配置SMB/CIFS共享的步骤:在左侧导航栏中,选择“服务” > “SMB/CIFS”。启用SMB/CIFS服务并应用设置。切换到“共享”选项卡,点击“添加”按钮。选择之前创建的共享文件夹,设置共享名称和访问权限。保存设置并应用更改。这样,网络中的其他设备就可以通过SMB/CIFS协议访问这些共享文件夹了。RAID管理RAID(独立冗余磁盘阵列)是一种通过将多个硬盘组合成一个逻辑单元来提高性能和可靠性的技术。OMV支持多种RAID级别,包括RAID 0、1、5、6和10。创建RAID阵列在左侧导航栏中,选择“存储” > “RAID管理”。点击“创建”按钮,选择RAID级别和包含的硬盘。确认选择后,点击“确定”开始创建RAID阵列。创建RAID阵列后,我们需要对其进行格式化并创建文件系统,这与单个存储设备的操作类似。定期备份为了确保数据安全,我们需要定期备份NAS中的数据。OMV提供了多种备份解决方案,例如本地备份和远程备份。我们可以使用OMV的插件系统来安装和配置这些备份工具。使用rsnapshot插件进行备份在左侧导航栏中,选择“插件”。搜索并安装rsnapshot插件。安装完成后,进入“服务” > “rsnapshot”进行配置。设置备份任务,包括备份源和目标、备份频率等。保存设置并启动rsnapshot服务。通过上述设置,OMV将定期自动备份我们的数据,确保数据的安全性和可恢复性。用户和权限管理为了控制对共享文件夹的访问,我们需要创建用户并分配相应的权限。在左侧导航栏中,选择“访问权限管理” > “用户”。创建新用户点击“添加”按钮,输入用户名、密码,并配置其他相关设置。保存设置后,新用户将出现在用户列表中。然后,我们需要分配用户对共享文件夹的访问权限。在“访问权限管理” > “共享文件夹”中,选择共享文件夹并点击“权限”按钮,分配用户对该文件夹的访问权限。结语通过详细的设置和配置,我们可以充分利用OpenMediaVault的存储管理功能,构建一个高效、安全的网络存储解决方案。无论是家庭用户还是小型企业,OMV都能提供可靠的存储和备份服务。希望本文能帮助大家更好地理解和使用OpenMediaVault,实现最佳的存储管理效果。
2024年07月24日
226 阅读
0 评论
0 点赞
2024-07-24
探索Identity Server4的核心功能与应用
在现代应用程序开发中,身份认证和授权是确保系统安全的重要环节。随着分布式系统和微服务架构的流行,我们需要一种可靠的方法来管理用户身份和权限。Identity Server4正是为此而生。本文将带领大家深入了解Identity Server4的核心功能和应用,帮助我们更好地实现安全的身份认证与授权。什么是Identity Server4?Identity Server4是一个基于ASP.NET Core的开放源代码框架,用于实现OAuth 2.0和OpenID Connect标准的身份认证和授权服务。它允许我们在应用程序中集成单点登录(SSO)、令牌管理和多种认证机制,从而为用户提供安全、统一的身份管理体验。核心功能支持OAuth 2.0和OpenID ConnectOAuth 2.0和OpenID Connect是现代身份认证和授权的核心协议。OAuth 2.0主要用于授权,而OpenID Connect则是在OAuth 2.0之上扩展的认证协议。通过这两个协议,Identity Server4可以实现以下功能:授权码模式:适用于服务器端应用程序,用户通过浏览器进行认证,获得授权码后由服务器端交换令牌。隐式模式:适用于单页应用(SPA),用户直接在浏览器中获得访问令牌。客户端凭证模式:适用于机器对机器(M2M)通信,使用客户端凭证直接获取访问令牌。密码模式:适用于受信任的客户端,用户直接提供用户名和密码获取访问令牌。灵活的认证方式Identity Server4支持多种认证方式,包括:本地认证:使用用户名和密码进行认证。外部认证:集成第三方身份提供商(如Google、Facebook、Microsoft)进行认证。多因素认证(MFA):通过短信、邮件或专用应用程序进行额外的身份验证,提高安全性。单点登录(SSO)通过单点登录功能,用户只需在一个地方进行身份验证,即可访问多个应用程序。这不仅提高了用户体验,还减少了用户多次输入凭证的麻烦,提高了安全性。API保护Identity Server4可以保护我们的API,确保只有经过授权的客户端和用户才能访问。通过配置API资源和范围,我们可以精细地控制每个客户端的访问权限。实践应用安装和配置Identity Server4在开始使用Identity Server4之前,我们需要在ASP.NET Core项目中安装相关的NuGet包。然后,通过配置Identity Server4的服务和中间件,我们可以轻松地集成身份认证和授权功能。首先,我们需要在项目中安装Identity Server4的NuGet包:dotnet add package IdentityServer4接着,我们在Startup.cs文件中配置Identity Server4:public void ConfigureServices(IServiceCollection services) { services.AddIdentityServer() .AddDeveloperSigningCredential() // 仅用于开发环境 .AddInMemoryIdentityResources(Config.GetIdentityResources()) .AddInMemoryApiResources(Config.GetApiResources()) .AddInMemoryClients(Config.GetClients()) .AddTestUsers(Config.GetUsers()); } public void Configure(IApplicationBuilder app, IHostingEnvironment env) { if (env.IsDevelopment()) { app.UseDeveloperExceptionPage(); } app.UseIdentityServer(); app.UseMvcWithDefaultRoute(); }在上述配置中,我们使用了内存存储来管理身份资源、API资源和客户端。这种方式适用于开发和测试环境。在生产环境中,我们应该使用数据库来存储这些信息。定义配置接下来,我们需要定义Identity Server4的配置,包括身份资源、API资源和客户端。在一个独立的配置文件中(例如Config.cs),我们可以这样定义:public static class Config { public static IEnumerable<IdentityResource> GetIdentityResources() { return new List<IdentityResource> { new IdentityResources.OpenId(), new IdentityResources.Profile() }; } public static IEnumerable<ApiResource> GetApiResources() { return new List<ApiResource> { new ApiResource("api1", "My API") }; } public static IEnumerable<Client> GetClients() { return new List<Client> { new Client { ClientId = "client", AllowedGrantTypes = GrantTypes.ClientCredentials, ClientSecrets = { new Secret("secret".Sha256()) }, AllowedScopes = { "api1" } } }; } public static List<TestUser> GetUsers() { return new List<TestUser> { new TestUser { SubjectId = "1", Username = "alice", Password = "password" }, new TestUser { SubjectId = "2", Username = "bob", Password = "password" } }; } }保护API为了保护我们的API,我们需要在API项目中配置JWT令牌的验证。首先,安装相应的NuGet包:dotnet add package Microsoft.AspNetCore.Authentication.JwtBearer然后,在Startup.cs文件中配置JWT验证:public void ConfigureServices(IServiceCollection services) { services.AddAuthentication("Bearer") .AddJwtBearer("Bearer", options => { options.Authority = "https://localhost:5001"; // Identity Server4的地址 options.RequireHttpsMetadata = false; options.Audience = "api1"; }); services.AddMvc(); } public void Configure(IApplicationBuilder app, IHostingEnvironment env) { if (env.IsDevelopment()) { app.UseDeveloperExceptionPage(); } app.UseAuthentication(); app.UseMvc(); }通过上述配置,我们的API将仅允许持有有效JWT令牌的请求访问,从而实现安全保护。结论Identity Server4为我们提供了强大且灵活的身份认证和授权解决方案。通过支持OAuth 2.0和OpenID Connect协议,Identity Server4能够满足现代应用程序的安全需求。在实际应用中,我们可以根据需要选择不同的认证方式,并利用其丰富的配置选项来保护API和管理用户身份。希望通过本文的介绍,大家能够更好地理解并应用Identity Server4,为自己的项目增加一层安全保障。
2024年07月24日
142 阅读
0 评论
0 点赞
2023-10-29
使用Docker Buildx构建多架构多平台Docker镜像
Buildx 是一款用于通过 BuildKit 扩展构建功能的 Docker CLI 插件,使用 Buildx,我们无需对 Dockerfile 进行任何修改,就可以构建不同 CPU 架构的 Docker 镜像,并支持推送到 Docker Hub。注意:在开始之前,默认已经安装好了 64 位的 Docker,且 Docker 版本大于 19.03。安装 Docker Buildx(1)使用二进制安装# 下载二进制文件 wget https://github.com/docker/buildx/releases/download/v0.11.2/buildx-v0.11.2.linux-amd64 # 创建文件夹 mkdir -p $HOME/.docker/cli-plugins # 移动文件 mv buildx-v0.11.2.linux-amd64 $HOME/.docker/cli-plugins/docker-buildx # 赋予二进制文件执行权限 chmod +x $HOME/.docker/cli-plugins/docker-buildx(2)编译二进制文件安装建议采用编译安装的方式,避免在接下来的过程中出现奇怪的错误。export DOCKER_BUILDKIT=1 docker build --platform=local -o . "https://github.com/docker/buildx.git" mkdir -p $HOME/.docker/cli-plugins mv buildx $HOME/.docker/cli-plugins/docker-buildx chmod +x $HOME/.docker/cli-plugins/docker-buildx启用 Buildx 插件Docker Buildx 属于实验性功能,在确保 Docker 版本不低于 19.03 ,通过执行以下命令开启新特性,以启用 buildx 插件。export DOCKER_CLI_EXPERIMENTAL=enabled初始化 Docker Buildxdocker buildx create --name builderx docker buildx use builderx docker buildx inspect --bootstrap启用 binfmt_misc如果你使用的是 Docker 桌面版(包含 macOS 和 Windows)默认已启用,而对于 Linux 系统,可通过运行一个特权容器来启用 binfmt_miscdocker run --privileged --rm tonistiigi/binfmt --install all验证是binfmt_misc是否开启:ls -al /proc/sys/fs/binfmt_misc/buildx 会通过 QEMU 模拟器和 binfmt_misc 模拟不同平台构建镜像,请查看是否包含 qemu-* 文件。构建多平台镜像可提前通过 docker login 命令登录 Docker Hub,在完成构建多平台镜像后,会同时推送镜像至 Docker Hub。安装并启用后,我们就可以使用 Docker Buildx 来构建多平台镜像了,以往我们进行构建镜像的命令:build -t ${IMAGE_NAME}:${VERSION} .使用 Docker Buildx 体验上与 docker build 用法基本相同,构建多平台的命令为:docker buildx build --platform=linux/amd64,linux/arm/v7,linux/arm64/v8 -t ${IMAGE_NAME}:${VERSION} . --push--platform :指定需要构建的平台,例如:linux/amd64、linux/arm64或darwin/amd64;--push :指构建完毕后自动推送到 Docker hub 仓库;-t :镜像的名称及 tag;. :表示 Dockerfile 文件位于当前路径下。Docker 镜像完成构建、推送后,我们可以在 Docker Hub 找到对应镜像的 tag 就可以看到支持多个平台。
2023年10月29日
435 阅读
0 评论
0 点赞
2023-10-29
WallaBag - 开源网络书签、稍后阅读工具
Wallabag 是基于Symfony框架开发的一款开源的网络书签、稍后阅读工具,可通过浏览器、手机、Kindle等方式进行内容收藏,支持自动标签规则让分类更简单,拥有中文界面,提供Android、iOS、Windows、Chrome、Firefox、Opera、PocketBook、Kobo、Kindle平台客户端。有意思的是,Wallabag支持生成RSS,让你在RSS阅读器中阅读自己保存的文章。项目地址Github - WallaBagDocker 部署安装 docker# 安装 docker curl -sSL https://get.docker.com/ | sh # 启动 docker systemctl start docker # 设置为开机启动 systemctl enable docker创建/运行容器docker run -d \ --name=wallabag \ -v $PWD/wallabag/data:/var/www/wallabag/data \ -v $PWD/wallabag/images:/var/www/wallabag/web/assets/images \ -p 80:80 \ -e "SYMFONY__ENV__DOMAIN_NAME=http://www.yourdomain.com" \ --restart=always \ wallabag/wallabag:latest参数说明:这里数据库使用的是 sqlite,如果需要使用 MariaDB、MySQL、PostgreSQL、Redis,更多配置信息,请查看文档 ;数据存储路径:命令执行过程会自动在 $PWD 即当前路径下创建 wallabag 文件夹存储数据。默认端口为80端口,即-p 80:80。变更端口,例如变更80端口为7880端口,则修改为 -p 7880:80 ;运行前,请将 http://yourdomain.com 修改成你自己的域名;执行命令后,需要稍等片刻,打开浏览器输入 http://www.yourdomain.com 即可进入 WallaBag 登录页面。默认账号:wallabg、密码:wallabag
2023年10月29日
521 阅读
0 评论
0 点赞
1
2
...
12