美文网首页
在群晖上使用nginx

在群晖上使用nginx

作者: 小李子Levy | 来源:发表于2022-01-09 21:31 被阅读0次

    前言

    家里有许多服务,包括需要在外面访问的(比如git服务,nas服务等),还有一些只在内网访问的(比如jenkins,docker仓库),之前这些统一用了树莓派部署的nginx作为反向代理,一直想把这个设备优化掉,把nginx服务放到群晖上,做成all in one,但是一直面临着端口占用的问题。
    对外的服务还好说,因为电信的封锁80,443的缘故,所以本来也无法使用这两个端口,随便搞个端口做映射就好了,但是内网的服务就不想在访问时还加个端口号了,但是群晖自身的nginx占用了80和443端口,无法再进行映射。最近终于通过docker的macvlan解决了问题,特意记录一下。

    实现

    创建macvlan网络

    参考这里

    创建容器

    docker run -d --name nginx --network vnet --ip 192.168.3.240 nginx
    然后局域网内通过ip就能够直接访问了

    image.png
    直接通过80和443端口访问
    image.png

    注意

    根据网络创建的那篇文章,为了能够使容器和宿主机能够相互访问,需要在物理网卡上再创建一个macvlan,但是这个配置我没有在群晖上找到持久化的方法,群晖重启之后就会时效,所以这里我使用了个定时任务来实现。在群晖上配了个5分钟一次的定时任务就好。

    #!/bin/bash
    if ip r |grep -w "192.168.3.240"; then
      exit 0
    else
      ip link add net-shim link ovs_eth1 type macvlan mode bridge
      ip addr add 192.168.3.239/32 dev net-shim
      ip link set net-shim up
      ip route add 192.168.3.240/28 dev net-shim
    fi
    

    相关文章

      网友评论

          本文标题:在群晖上使用nginx

          本文链接:https://www.haomeiwen.com/subject/fmjucrtx.html