极空间z2pro bitwarden+frp+nginx教程

news2024/11/18 8:27:48

z2pro Bitwarden + Frp + Nginx教程

本案例仅供记录

使用时按照自己的IP端口进行 灵活变通

本案例中使用的设备:

  1. NAS:z2pro
  2. 域名:est.xyz
  3. 云服务器:腾讯云(公网ip:43.43.43.143)

一,Vaultwarden

本人是在极空间z2pro上进行docker部署的

官方镜像的totp需要付费使用,vaultwarden镜像 解锁了 bitwarden的totp功能,所以推荐使用vaultwarden

pc设备安装docker后同理

云服务器安装docker后同理

即:

192.168.1.10:7000 = bitwarden

框架图:

在这里插入图片描述

预期结果:

步骤:

  1. NAS中安装镜像vaultwarden
    在这里插入图片描述

  2. 端口设置中,80端口对应7000本案例中设置为7000,按照自己的需求更改即可

    外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

  3. 文件夹路径中,在本地创建文件夹docker/bitwarden
    在这里插入图片描述

  4. 启动并测试,访问192.168.1.10:7000,本案例中ip为192.168.1.10,在z2pro设置中查看自己的ip

二,Frp内网穿透

通过公网IP访问局域网中的bitwarden服务

即:

客户端frpc连接时需要填写服务器frps绑定的监听端口,本案例中服务器frps监听7010端口

43.43.43.143:7000 -> 192.168.1.10:7000 = bitwarden

架构图:

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

预期结果:

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

frps步骤:

  1. 手动下载官方fatedier/frp安装包

    外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

  2. 用你们的SSH工具把他上传到云服务器上,使用tar -zxvf 文件名.tar.gz命令解压,结果如下:

    外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

  3. 进入到文件夹后看到下图,我们需要修改frps.toml文件:

    外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

  4. 使用vim frps.toml命令:

    bindPort = 7010 #服务器监听端口,这个端口很重要,客户端中需要填写这个
    
    webServer.addr = "0.0.0.0" #以下四行为服务器端控制面板的访问地址和端口43.43.43.143:7500,用户名和密码,可以不设置
    webServer.port = 7500  
    webServer.user = "admin"
    webServer.password = "admin"
    
  5. 结果如图:

    外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

  6. 去云服务器中开放对应端口,bitwarden端口7000,frps监听端口7010,frps的控制面板访问端口7500:

    外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

  7. 启动服务:

    nohup ./frps -c ./frps.toml >frp.log 2>&1 &
    
  8. 访问管理面板43.43.43.143:7500:

    外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

frpc步骤:

  1. docker下载镜像snowdreamtech/frpc
    外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

  2. 本地创建文件夹docker/frpc

    外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

  3. 在文件夹中创建文件frpc.txt,打开编辑先是txt,然后修改后缀为toml,跟着做即可

    # frpc.toml
    serverAddr = "43.43.43.143" #本案例中填写43.43.43.143,修改为你的公网ip地址
    serverPort = 7010 #填写服务器绑定的监听端口,本案例中填写7010端口,按照你的实际情况修改
    
    webServer.addr = "0.0.0.0" #以下四行 为开启客户端控制面板,用户名和密码为admin,访问本地7400端口即可,可以不写
    webServer.port = 7400 
    webServer.user = "admin"
    webServer.password = "admin"
    
    [[proxies]]
    name = "bitwarden"
    type = "tcp"
        
    localIP = "192.168.1.10" #本案例中,bitwarden服务器地址为192.168.1.0,按照你的实际情况修改
    localPort = 7000 #本案例中,bitwarden服务器端口为7000,按照你的实际情况修改
        
    remotePort = 7000 #本案例中,想通过云服务器的7000端口访问,按照你的实际情况修改
        
    transport.useEncryption = true #开启加密,建议开启
    transport.useCompression = true #开启压缩,建议开启
    

    怕读者混乱,这里重新说下配置文件

    43.43.43.143:2000 -> 192.168.1.10:7000

    serverAddr:remotePort -> localIP:localPort

    serverAddr = “43.43.43.143”,填写服务器的地址

    serevrPort = “ ”,填写服务器的监听端口

    localIP = “192.168.1.10”,填写客户端的地址

    localPort = “7000”,填写客户端的端口

    remotePort = “2000”,填写服务器的端口

  4. 修改后缀为toml,保存,在创建容器中选择文件夹路径,装载路径为/etc/frp/frpc.toml,文件选择刚才我们保存的配置文件docker/frpc/frpc.toml

    外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

  5. 启动容器,观察日志,访问43.43.43.7000端口,:

    外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

三,nginx反向代理

目前已经可以通过公网IP访问局域网的bitwarden服务了

现在实现域名访问,我们已有域名test.xyz

即:

bitwarden.test.xyz = 43.43.43.43:7000

为什么要用子域名,因为我一个服务器上有好几个服务,不同子域名对应不同服务

例如:

bitwarden.test.xyz 对应 bitwarden

halo.test.xyz 对应 halo博客

架构图

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

预期结果

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

子域名解析到服务器(云解析DNS)

  1. 进入腾讯云,搜索栏搜索云解析DNS

    外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

  2. 点击域名test.xyz,添加解析:

    外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

    子域名bitwarden.test.xyz

    主机记录填写:bitwarden 本案例中是bitwarden,改成你想要的子域名前缀

    记录值填写:43.43.43.143 本案例中是43.43.43.143,改成你的服务器公网IP

给子域名申请SSL证书(SSL证书)

  1. 进入腾讯云,搜索栏搜索SSL证书

    外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

  2. 点击我的证书,点击申请免费证书

    外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

  3. 选择右边的免费证书

    外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

    证书绑定域名: bitwarden.test.xyz 填写你的子域名

    验证方式:选自动DNS验证,因为我这里是测试的域名,不是我的腾讯云域名,所以不让我选择自动DNS验证

  4. 申请完成后,需要等待一段时间,通常10分钟以内

  5. 申请完成后,下载证书,点击右侧下载,我们下载nginx版的

    外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

  6. 使用你的SSH工具将证书上传到腾讯云服务器

    这里为什么不重点说呢,因为每个人上传的方法不一样,

    有的使用SSH工具就能上传,有的通过SSH的scp命令上传,总之上传上去就行

云服务器安装nginx

特别简洁的官方教程:https://ubuntu.com/tutorials/install-and-configure-nginx#2-installing-nginx

  1. ubuntu中安装nginx

    sudo apt update
    sudo apt install nginx
    
  2. 访问43.43.43.143直接截的官方图,效果一样

    外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

  3. nginx的配置文件在/etc/nginx/文件夹下,进入这个文件夹

    nginx的配置文件在/etc/nginx下,不要乱找

    配置文件为:nginx.conf

    外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

  4. 将SSL证书放到文件夹中

    1. 在/etc/nginx中创建文件夹tls/bitwarden,用来存放bitwarden子域名的证书

      tls文件夹是本人创建专门分类服务器证书的,如果路径你们不觉得乱,也可以不管

      例如:

      创建文件夹tls/halo,用来存放halo子域名的证书

      创建文件夹tls/https,用来存放https子域名的证书

    2. 在云服务器上解压你的证书压缩包

      zip包用 unzip

      tar.gz包,用tar -zxvf

    3. 将解压好的证书包里面的四个文件,移动到tls/bitwarden

      sudo mv bitwarden* /etc/nginx/tls/bitwarden

    4. 结果应该是如下:

      外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

  5. 修改nginx配置文件nginx.conf

    bitwarden.test.xyz 访问 http://43.43.43.143:7000

    server_name:listen 访问 proxy_pass

    即:

    server_name:bitwarden.test.xyz

    listen:443

    proxy_pass http://43.43.43.143:7000

    nginx配置文件整体框架如下:

    全局块
    events{
    }
    http{
        #我们写的东西要放在这里面
    }
    

    添加配置快:

        #HTTP服务器
        server {
        #监听443端口。443为知名端口号,主要用于HTTPS协议
        listen       443 ssl;
    
        #定义使用www.xx.com访问
        server_name  bitwarden.test.xyz;
    
        #ssl证书文件位置
        ssl_certificate      /etc/nginx/tls/bitwarden/bitwarden.test.xyz_bundle.crt;
        #ssl证书key位置
        ssl_certificate_key  /etc/nginx/tls/bitwarden/bitwarden.test.xyz.key;
    
        #ssl配置参数(选择性配置)
        ssl_session_cache    shared:SSL:1m;
        ssl_session_timeout  5m;
        #数字签名,此处使用MD5
        ssl_ciphers  HIGH:!aNULL:!MD5;
        ssl_prefer_server_ciphers  on;
        location / {
           proxy_pass http://43.43.43.143:7000;
           root   /root;
           index  index.html index.htm;
         }
        }
    

    配置块添加到http下面,添加完成后的配置文件:不是完整的配置文件,只是告诉你放在哪里,放对了就没问题

    全局块
    events{
    }
    http{
        #我们写的东西要放在这里面
        #HTTP服务器
        server {
        #监听443端口。443为知名端口号,主要用于HTTPS协议
        listen       443 ssl;
    
        #定义使用www.xx.com访问
        server_name  bitwarden.test.xyz;
    
        #ssl证书文件位置
        ssl_certificate      /etc/nginx/tls/bitwarden/bitwarden.test.xyz_bundle.crt;
        #ssl证书key位置
        ssl_certificate_key  /etc/nginx/tls/bitwarden/bitwarden.test.xyz.key;
    
        #ssl配置参数(选择性配置)
        ssl_session_cache    shared:SSL:1m;
        ssl_session_timeout  5m;
        #数字签名,此处使用MD5
        ssl_ciphers  HIGH:!aNULL:!MD5;
        ssl_prefer_server_ciphers  on;
        location / {
           proxy_pass http://43.43.43.143:7000;
           root   /root;
           index  index.html index.htm;
         }
        }
    }
    
  6. 测试nginx配置文件

    sudo nginx -t
    
  7. 后台启动nginx服务

    nohup sudo service nginx restart > nginx.log 2&>1 &
    

测试结果

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1233687.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Unity - 实现模型动态伸长缩短,贴图不变形(材质球参数篇)

思路为修改模型材质球的Tiling参数&#xff0c;根据与自身localScale的值得到合适的比例&#xff0c;再修改Tiling值 var mat target.transform.GetComponent<Renderer>().material; var oriValue mat.mainTextureScale;//沿着Y轴伸缩 oriValue.y 1 * target.transfo…

动手学深度学习(二)---线性回归

文章目录 1.线性回归从0实现2.线性回归简洁实现【相关方法】 1.线性回归从0实现 从0开始实现整个方法&#xff0c;包括数据流水线、模型、损失函数和小批量随机梯度下降优化器 &#xff08;1&#xff09;导入需要的包 % matplotlib inline import random import torch from d…

3分钟看完NVIDIA GPU架构及演进

近期随着 AI 市场的爆发式增长&#xff0c;作为 AI 背后技术的核心之一 GPU&#xff08;图形处理器&#xff09;的价格也水涨船高。GPU 在人工智能中发挥着巨大的重要&#xff0c;特别是在计算和数据处理方面。目前生产 GPU 主流厂商其实并不多&#xff0c;主要就是 NVIDIA、AM…

《研发效能 100 问》首发,多位专家解读「研效提升」的破局之道?

为了可以帮助更多研发管理者和研发效能负责人&#xff0c;了解构建研发效能体系应从何做起&#xff0c;以及在构建过程中需要解决哪些疑难问题&#xff0c;有哪些最佳实践可以借鉴。2023 年 7 月&#xff0c;思码逸发起&#xff0c;由行业知名研发效能专家张乐老师担任出品人&a…

【Skynet 入门实战练习】开发环境搭建 | 运行第一个项目 | debug console 简单使用

文章目录 写在前面开发环境搭建skynet配置文件项目&#xff0c;启动&#xff01; debug console 写在前面 本系列【Skynet 入门实战练习】所有源码同步&#xff1a;https://gitee.com/Cauchy_AQ/skynet_practice 开发环境搭建 skynet skynet 框架地址&#xff1a;https://g…

第7章-使用统计方法进行变量有效性测试-7.4.1-简单线性回归

目录 基本概念 变量之间的关系 相关分析 回归分析 相关分析和回归分析的关系 一元线性回归模型 总体回归函数 样本回归函数 线性回归模型的假定 普通最小二乘法&#xff08;Ordinary Least Squares&#xff0c;OLS&#xff09; 拟合优度指标 回归系数估计量的性质 …

主播-产品痛点话术

—、用户体验差我们的产品在用户体验方面存在一些问题。首先&#xff0c;产品的操作流程不够顺畅&#xff0c;导致用户在使用过程中经常遇到困扰。另外&#xff0c;我们的产品界面设计不够美观&#xff0c;无法给用户带来愉悦的使用体验。针对这些问题&#xff0c;我们将对产品…

2015-2020年全国地区生产总值及一二三产构成数据总览,shp/excel格式

今天我们来整理了2015-2020全国地区生产总值及一二三产构成数据&#xff0c;数据格式为shpexcel格式&#xff0c;数据精度可达各区县。 另外&#xff0c;需要说明的是&#xff1a;由于统计年鉴指标调整&#xff0c;每一年的数据并非字段相同&#xff0c;字段详情请参考已下载数…

KT142C语音芯片客户反馈电脑端的配置文件,打开都正常,但是拷贝到KT142C内部就乱码

KT142C语音芯片客户反馈电脑端的配置文件&#xff0c;打开都正常&#xff0c;但是拷贝到KT142C内部就乱码 首先解释一下原理&#xff0c;KT142C内置的330Kbyte空间可供用户下载&#xff0c;实际上拿出程序部分的空间 作为声音存储介质的&#xff0c;也就是说&#xff0c;代码空…

SDWAN厂家排名

随着网络技术的不断发展&#xff0c;SDWAN&#xff08;软件定义广域网&#xff09;作为一种新兴的网络架构&#xff0c;正在受到越来 越多企业的关注和采用。选择一家可靠的SDWAN厂家成为企业成功部署和管理SDWAN的关键。本文将从技术实力、客户口碑以及市场占有率三个方面&…

数据仓库模式之详解 Inmon 和 Kimball

目录 一、前言 二、企业信息工厂&#xff08;Inmon&#xff09; 2.1 概念 2.2 主要组件 2.3 流程 三、多维数据仓库&#xff08;Kimball&#xff09; 3.1 概念 3.2 核心组件 3.3 流程 四、异同及用途对比 4.1 异同对比 4.2 特征比较 一、前言 大部分关于数据仓库构建…

数据智能引擎:企业模糊搜索API精准获取企业列表信息

引言 随着信息时代的迅速发展&#xff0c;数据变得愈加庞大和复杂。在这个大数据的时代&#xff0c;企业面临着海量信息的管理和利用挑战。为了更有效地获取并利用数据&#xff0c;企业信息模糊搜索API成为了企业数据智能引擎的一部分&#xff0c;为企业提供了精准的企业列表检…

系列十四、异步回调

一、概述 二、案例代码 /*** Author : 一叶浮萍归大海* Date: 2023/11/21 10:45* Description: 异步任务案例代码*/ public class CompletableFutureMainApp {public static void main(String[] args) throws ExecutionException, InterruptedException {CompletableFuture<…

缓存穿透、缓存雪崩、缓存击穿问题的解决思路

一、缓存穿透 缓存穿透 &#xff1a;缓存穿透是指客户端请求的数据在缓存中和数据库中都不存在&#xff0c;这样缓存永远不会生效&#xff0c;这些请求都会打到数据库。 常见的解决方案有两种&#xff1a; 缓存空对象 优点&#xff1a;实现简单&#xff0c;维护方便 缺点&am…

工作记录---淘宝双11,亿级流量高并发是怎么抗住?(站在巨人的肩膀上学习,超开心~)--------脚踏实地,持续学习(看完这一篇获益匪浅)

什么是分布式&#xff1f; 系统中的多个模块在不同服务器上部署&#xff0c;即可称为分布式系统。 如Tomcat和数据库分别部署在不同的服务器上&#xff0c;或两个相同功能的Tomcat分别部署在不同服务器上。 什么是高可用&#xff1f; 系统中部分节点失效时&#xff0c;其他节…

MatrixOne完成与麒麟信安、欧拉的兼容互认

近日&#xff0c;超融合异构云原生数据库MatrixOne企业版软件V1.0完成了与欧拉开源操作系统&#xff08;openEuler简称“欧拉”&#xff09;、麒麟信安操作系统系列产品和虚拟化平台的相互兼容认证&#xff0c;通过了欧拉兼容性测评&#xff0c;获得了《openEuler技术测评证书》…

打造完美照片,尽在PhotoFoundry for Mac

想要给你的照片加上绚丽的滤镜、调整色彩和对比度&#xff0c;甚至进行精确的修图吗&#xff1f;PhotoFoundry for Mac将成为你的绝佳选择&#xff01; PhotoFoundry for Mac是一款功能强大的照片编辑软件&#xff0c;它为你提供了丰富多样的工具和特效&#xff0c;让你能够轻…

蓝桥杯每日一题2023.11.21

题目描述 “蓝桥杯”练习系统 (lanqiao.cn) 题目分析 思路&#xff1a; 1.去重排序将其进行预处理 2.用gcd得到最简比值 3.用gcd_sub分别计算分子、分母的指数最大公约数 #include<bits/stdc.h> using namespace std; const int N 110; typedef long long ll; ll…

VirtualBox7安装Ubuntu20及全屏、共享、粘贴板等设置

VirtualBox7安装Ubuntu20及全屏、共享、粘贴板等设置 1. 安装VirtualBox2. 安装Ubuntu202.1 获得x.vdi2.2 新建虚拟电脑 3. 增强设置3.1 增强功能3.2 全屏3.2 共享文件夹3.4 粘贴板 1. 安装VirtualBox 官网https://www.virtualbox.org/wiki/Downloads下载&#xff0c;笔者选择…

软考必须得从初级开始考吗?

软考是指软件技术专业资格考试&#xff0c;是由中国计算机技术职业资格认证中心&#xff08;NCTC&#xff09;主办的一项国家级考试。软考考试内容涵盖了软件工程、数据库、网络与信息安全、嵌入式系统等多个方面的知识&#xff0c;是评价软件技术人员专业水平的重要标准。 对于…