百度360必应搜狗淘宝本站头条
当前位置:网站首页 > 技术资源 > 正文

好使!NAS中傻瓜式配置反向代理及SSL证书,提升网络安全性!

off999 2025-03-29 20:46 30 浏览 0 评论

对于有NAS或者有个人主机的朋友来说,将机器映射到外网是基本操作。

但是一般来说,能直接从外网访问的往往仅有80和443端口。事实上,运营商一般把家庭宽带的这两个端口都封了,所以如果我们想要从外网访问自己家中机器部署的服务,那就需要通过其他未被屏蔽的端口。

这样问题就来了,当我们部署了很多个服务的时候,想要记住这么多端口实在是太困难啦!这种时候,我们就应该考虑配置反向代理了。

反向代理可以实现通过二级或者更多层级的域名来访问不同的端口,从而达成对外屏蔽端口细节的目的。比如我们部署了一个阅读服务,地址是www.xxx.com:8801,那么我们使用反向代理,可以实现通过reader.xxx.com来访问该服务的效果。

下面,老Q就以绿联DX4600为例,演示下如何配置反向代理。

一、安装NginxWebUI

首先,我们在镜像管理中,搜索cym1102/nginxwebui并下载latest版本的Docker镜像。

然后,我们在本地镜像中找到刚刚下载的镜像,并点击创建容器,勾选创建后启动容器。

重启策略配置为“容器退出时总是重启容器”。

网络选择host,这是因为我们要用它来管理所有的端口,所以再像之前一样使用bridge模式就不合适了。

在NAS中创建目录,如Docker/NginxWebUI,并将其与容器的/home/nginxWebUI目录建立映射。类型选择读写模式。

在环境变量中,我们添加一个BOOT_OPTIONS变量,取值为--server.port=xxxx,其中,xxxx就是NginxWebUI的Web管理页面对应的端口。

点击下一步、完成后,容器会自动启动。

二、配置反向代理

首次打开后,我们需要设置用户名和密码。

设置完成后登陆到管理台。

点击左侧反向代理,点击添加反向代理。

按照下图进行反向代理配置。

  • 转发类型选择http
  • 监听IP端口可以看个人喜好选择一个,比如老Q选择了8443
  • 监听域名就是我们希望绑定到某个服务的二级或更多层级的域名,比如用notes.xxxx.com来对应我们的一个笔记服务。
  • 开启ssl选择是。如果不想要开启https访问,这里可以忽略,到这里就配置完成了。
  • http跳转https可以选择为是,从该端口跳转这里我们可以填另一个端口,这个端口对应的是http的访问请求。
  • 选择内置证书这里,我们需要先在证书管理处申请证书以后才能进行选择。以腾讯的DNSPod为例,申请对应的流程如下图,其中DP_idDP_Key可以在DNSPod的管理后台处申请获得,域名这里我们配置*.xxxx.com这样的形式,这样的话所有以xxxx.com结尾的域名都可以使用该证书。如果你的域名是在别的服务商处购买的,那么可以结合实际情况调整。证书申请成功后,就可以像上图一样配置ssl证书了,直接在选择内置证书处选择我们刚申请的证书即可。

全都配置完成以后,大概长这个样子。

然后我们点击左侧启用配置选项,点击左上角替换文件,然后点击重新装载。如果弹窗提示重新装载成功,且右上角显示状态运行中,那就是配置完成了。

这时,我们就可以通过类似notes.xxxx.com:8443或者notes.xxxx.com:8880这样的地址来访问我们的笔记服务了。

当然,如果我们配置反代使用的机器不是家庭宽带中的机器,而是在腾讯云等云平台租用的服务器,那么我们完全可以使用44380端口来监听网络请求,这样,我们访问的域名就可以隐藏掉端口,如notes.xxxx.com

比如老Q就把反代的服务配置在了云服务器上,这样老Q在访问家中服务时,也不需要记忆任何端口,直接通过二级域名即可。

这里是老Q,会不定时为大家分享一些大数据、量化、NAS、网站、可视化等领域的内容,欢迎大家点个关注呀!

相关推荐

Python中的两个内置函数id()和type()

id()>>>id(3)2531362761072>>>id(3.222222)2531397393680>>>id(3.0)25313...

python 函数中,如何将另一个函数作为参数传递

python函数中,如何将另一个函数作为参数传递,类似C#委托defadd(a,b):"""这是一个简单的加法函数,接受两个参数并返回它们的和。""...

Python性能暴涨10倍的终极指南:7个核心技巧+代码压缩秘籍

提升Python程序运行性能,使代码运行更流畅更快,以及压缩代码,减小代码大小,下面的方法仅供大家参考,有什么更好的方法在评论区说说。1.使用NumPy/SciPy替代纯Python循环...

Python 匿名函数(Lambda 函数)详解

匿名函数(AnonymousFunction),在Python中称为lambda函数,是一种不需要使用def关键字定义的小型函数。它主要用于简化代码,特别适合需要函数对象的地方。1.基...

Python学习笔记 | 匿名函数lambda、映射函数map和过滤函数filter

什么是匿名函数?定义:没有函数名的自定义函数场景:函数体非常简单,使用次数很少,没有必要声明函数,通常搭配高阶函数使用。高阶函数是能够把函数当成参数进行传递的函数,如:映射函数map和过滤函数fil...

python练习:自定义函数调用:商品购物实例

1、商品录入dict_myshanpin_iof={101:{"商品名称":"毛毛熊","单价":25},102:{"商品名称":...

Python中如何使用Lambda函数(lambda在python中的用法)

Python和其他编程语言一样,都在其语法中添加了lambda函数,Pythonlambda是匿名函数,比常规Python自定义函数有更简洁的语法。虽然Lambda语法在开始时可能会觉得有点混乱,...

8-Python内置函数(python内置函数代码)

Python提供了丰富的内置函数,这些函数可以直接使用而无需导入任何模块。以下是一些常用的内置函数及其示例:1-print()1-1-说明输出指定的信息到控制台。1-2-例子2-len()2-1-说...

用Python进行函数式编程(python函数程序)

什么是函数式编程?函数式程序设计是一种编程范例,它把计算当作数学函数的评价,避免状态和可变数据。换句话说,函数编程(FunctionalProgramming,FP)促进没有副作用和不变变量的代码。它...

python 函数进阶(python如何进阶)

1.有名函数和匿名函数#该函数有名称,名称是adddefadd(x,y):returnx+y#改函数没有名称属于匿名函数,也叫lambda表达式lambda_add...

python自学者的分享:自定义函数、参数作用域、匿名函数、装饰器

#自定义新函数函数名newhsdefnewhs(a,b=1):#b的默认值为1,在没有传入b值时,采用默认值,,默认值参数不能放前边returna-bprint(newh...

Python 函数式编程的 8 大核心技巧,不允许你还不会

函数式编程是一种强调使用纯函数、避免共享状态和可变数据的编程范式。Python虽然不是纯函数式语言,但提供了丰富的函数式编程特性。以下是Python函数式编程的8个核心技巧:1.纯函数(...

零基础到发布:手把手教你创建并分发 Python 自定义库

作为程序员,我们经常依赖各种外部库来解决不同的问题。这些库由技术娴熟的开发者创建,为我们提供了节省时间和精力的解决方案。但你是否曾想过:“我也能创建属于自己的自定义库吗?”答案是肯定的!本文将为你详细...

打工人学Python:(七)自定义函数,打造自己的武器库

从一个简单的函数开始#!/usr/bin/envpython#-*-encoding:utf-8-*-'''@Purpose:Wordcount@...

肖sir_python自定义函数format、zip函数

python自定义函数一、常见的自定义函数已经学过的函数:list、print、set、str、type、tuple、dict、range、input等今天学的函数:format二、实战讲解(一)f...

取消回复欢迎 发表评论: