代理本质上是一个服务器,充当代理角色的服务器,被称为代理服务器。
代理在客户端和服务端之间,类似于中介。客户端将请求发送给代理,由代理将请求发送给服务端。服务端响应请求并返回资源给代理,由代理将资源返回给客户端。
代理可以分为正向代理和反向代理。两者的区别在于代理的对象不同。
正向代理,代理的对象是客户端,对客户端负责,隐藏了客户端的真实身份,服务端只知道正向代理服务器向它发来了请求,却不知道真正发送请求的客户端是谁。VPN就是常见的正向代理。举个例子,如果我们想要访问被限制的外国网站或者公司内网,我们可以使用VPN作为正向代理服务器,来替我们获取这些受限的资源。
反向代理,代理的对象是服务端,对服务端负责,隐藏了服务端的真实身份,客户端只知道反向代理服务器响应了它的请求,却不知道真正响应请求的服务端是谁。我们可以使用Nginx作为反向代理服务器,实现负载均衡、安全防护、限流等功能。另外,反向代理也是解决跨域的常用方案之一。
什么是 Nginx Proxy Manager ?
Nginx Proxy Manager 是用于管理 Nginx 代理主机的 Docker 容器,具有简单、强大的界面。它使您可以轻松地转发到您在家里或其他地方运行的网站,包括免费的 SSL,而无需对 Nginx 或 Letsencrypt 了解太多。
通过 phpMyAdmin 在 MariaDB 10 中新建用户 npm ,创建同名的库 npm 并授予所有权限。
在注册表中搜索 nginx-proxy-manager ,选择第一个 jc21/nginx-proxy-manager,版本选择 latest。
在 docker 文件夹中,创建一个新文件夹,并将其命名为 npm,再建 2 个子目录,分别命名为 data 和 letsencrypt
端口
端口不冲突就行,不确定的话可以用命令查一下
在浏览器中输入 http://群晖IP:2081 就能看到主界面
默认的账号: admin@example.com ,密码:changeme
登录后可以编辑用户信息
之后是密码
进入主菜单的 SSL Certificates
Add SSL Certificate 有两种方式,一种是在线申请,另一种是添加已有证书
在线申请和我们在『 免费的泛域名https证书自动续期 』一文中介绍的非常类似,需要选择 DNS 解析服务提供商,以及填写 token 等参数
老苏因为已经配置了 Certbot 并实现了自动续期,所以只需要导入现有证书就可以了,Name 老苏用了域名,这样比较容易识别
上传成功后,证书存放在 /data/custom_ssl/ 目录中以 npm-1 、 npm-2 等子目录保存
进入主菜单的 Hosts
以将 http://192.168.0.197:5000 映射到 https://nas.laosu.ml 为例
因为准备用 https 协议访问,所以必须勾选 Force SSL
其他的 HTTP/2 和 HSTS 和群晖内置的是一样的,可根据需要勾选,没啥问题的话老苏建议都勾上
为什么要另外安装 nginx proxy manager 而不是用群晖内置的反向代理的原因,老苏在一开始就讲了,装完之后老苏还发现了几个优点:
Nginx (engine x) 是一个高性能的HTTP和反向代理服务器,也是一个IMAP/POP3/SMTP服务器。
Nginx是一款轻量级的Web 服务器和反向代理服务器及电子邮件(IMAP/POP3)代理服务器,并在一个BSD-like 协议下发行。其特点是占有内存少,并发能力强,事实上nginx的并发能力确实在同类型的网页服务器中表现较好,中国大陆使用nginx网站用户有:百度、京东、新浪、网易、腾讯、淘宝等。
服务器是硬件(身体),NGINX是软件(灵魂):服务器需要NGINX APACHE 或者IIS 才能作为网站服务器。
欢迎分享,转载请注明来源:夏雨云
评论列表(0条)