OPNsense配置Nginx反向代理教程

Nginx是一款轻量级的Web服务器、反向代理服务器,占用内存少,启动快,高并发能力强,配置简单,被广泛应用。OPNsense也集成了Nginx插件,通过设置Nginx反代,即可以保护内部Web服务器,也可以实现服务器的负载平衡。

下面以访问内部alist服务器(IP地址:192.168.101.15,http访问端口:5244)为例,介绍Nginx反代的配置过程。

在配置Nginx之前,可以参照OPNsense配置CloudFlare动态域名,使用Let’s Encrypt证书实现SSL安全访问设置动态域名和ACME证书。

安装插件

导航到OPNsense防火墙系统>固件>插件菜单,搜索os-nginx并安装。

配置步骤

Nginx反代设置,主要包含五个方面的配置:

  • 上游服务器:托管网页/应用程序的真实内部服务器;
  • 上游:配置服务器的后端(池);
  • 位置:配置上游功能的网址格式;
  • HTTP 服务器:配置一个或多个位置的前端;
  • 添加防火墙规则,放行反代使用的端口。

导航到服务>Nginx>配置>上游选项卡,点击上游服务器,添加内部Alist服务器。

输入Alist服务器的访问IP和端口,因为只有一个服务器,所以优先级设为1。服务器参数设置取决于Web服务器/应用程序以及网络环境,为了获得更好的保护,建议在“ 最大连接数/失败次数”和“ 失败超时”中设置一些限制。配置完成后如下:

接下来配置上游。单击上游菜单,添加一个新的上游。上游服务器选上一步建立的服务器,启用TLS不选,其他选项保持默认即可。

配置完成后如下图所示:

Naxsi是第三方Nginx模块,可作为许多类似UNIX平台的软件包使用,可以一定程度上提升访问的安全性。在进行配置之前,我们需要下载Naxsi规则策略,并在后面的位置配置中启用该规则。转到HTTP(S)>Naxsi WAF策略子菜单,单击右上的下载按钮获取NAXSI规则,接受NAXSI存储库许可证,下载NAXSI策略和规则。

下载完成后如下图所示:

添加位置

导航到HTTP(S)>位置,单击右下角添加按钮添加一个新位置。输入一个描述说明,网址格式要与服务器根目录匹配,这里用“/”填充。要与另一个路径匹配,请将其更改为“/ anotherpath /”;选中启用安全规则,上游服务器选中前面设置的上游,选中强制HTTPS选项。

其他选项根据需要设置或保持默认,配置完成以后如下图所示:

添加HTTP服务器

单击HTTP(S)选项卡,找到HTTP服务器菜单,添加一个HTTP服务器。由于不需要通过http端口访问,这里的http监听地址可以留空。输入https监听端口、服务器名称,位置选中上一步设置的位置,TLS证书和CA选中之前用LE申请的证书和CA;选中启用LE插件支持,选中仅HTTPS。其他选项保持默认。

 

配置完成以后如下图所示:

启用Nginx

返回菜单服务>Nginx:选中启用选项,单击应用按钮启动nginx服务。

添加防火墙规则

创建所需的防火墙规则,放行http服务器所使用的端口(10443)。导航到防火墙>规则>WAN选项卡,添加放行10443端口的规则。如下图所示:

至此,配置全部完成!

检查测试

手机关闭WIFI,浏览器输入https://域名+端口号访问内部Alist服务器,测试是否能正常访问,如下图所示:

如果访问不了,可以根据nginx的日志找出问题原因,并针对性进行解决。

转到服务>Nginx>流量统计,可以查看Nginx的实时统计信息。

其他

可以在ACME插件里添加一个自动操作,在证书更新后,自动重启nginx服务。

导航到服务>ACME客户端>自动操作,自动操作选项卡,添加一个自动操作命令:

然后转到服务>ACME客户端>证书,证书选项卡,点击所使用证书右侧的编辑图标,在自动操作选项里,添加前面设置的自动操作命令,保存即可。以后只要更新了证书,系统将自动重启nginx服务

相关文章

pfSense配置Squid反向代理教程

OPNsense配置Caddy反向代理教程

OPNsense配置HAProxy反向代理教程

pfSense配置HAProxy反向代理教程

 

 

评论

  1. woalbb
    2021-8-2
    2021-8-02 18:04:53

    使用后能打开页面无法登陆怎么解决?我查询了资料是nginx配置文件里面需要在proxy_set_header Host $host:$server_port;这句里面加上后面的端口。我在shell下手动加入配置文件后一重启系统就自动还原了这个怎么解决?web设置里面找不到可以更改的地方。

    • 鉄血男兒
      博主
      woalbb
      2021-8-5
      2021-8-05 10:17:15

      使用WINSCP修改对应的配置文件,然后再修改一下文件的属性看看。

      • woalbb
        鉄血男兒
        2021-8-9
        2021-8-09 16:41:08

        重启后就还原到web gui里面的设置了,在web gui里面能调整吗?我试着想用启动脚本覆盖掉但是启动脚本不执行。进shell手动执行可以。

  2. woalbb
    2021-8-3
    2021-8-03 9:03:13

    非80端口才会出现这个问题

  3. woalbb
    2021-8-9
    2021-8-09 10:38:37

    重启后还原配置,这个怎么弄?你在opnsense的论坛有账号吗?我没注册上。能不让开发改改这里。加上:$server_port就可以了。

  4. woalbb
    2021-8-11
    2021-8-11 11:23:43

    实在没办法只能转到haproxy去了。

    • 鉄血男兒
      博主
      woalbb
      2021-8-11
      2021-8-11 15:13:33

      我内网一台NAS,访问端口是4999,用这个方法测试了没问题(重启了也没问题)。重要的是防火墙的WAN接口的规则,必须放行相关的通信端口。例如我的NAS的放行规则如下:接口:WAN,协议:TCP,目标:WAN地址,端口:4999

发送评论 编辑评论


				
|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!
上一篇
下一篇