限制EFV域名仅能读取M3U8等资源

目前使用域名绑定EFV后,默认可以同时访问前后台,我们也可以限制域名只能访问M3U8、截图等资源

目前使用域名绑定EFV后,默认可以同时访问所有资源,包括前后台等页面。有些人可能想该域名仅能访问M3U8等资源,所以有这需求的,可以看该处文档进行配置。

使用EFV网站管理

EFV添加或编辑域名的时候,可直接开启限制访问功能即可,如图:

开启后该域名仅api接口及m3u8tspngjpgjpegwebpgifmp4keytxt资源可访问,其余链接返回404

使用Nginx绑定域名

这里只提供反向代理配置文件,如果是通过宝塔Nginx绑定域名的,可直接将下面代码全部替换到反向代理配置即可。

location / {
    # 屏蔽根路径
    location = / {
        return 404;
    }

    # 屏蔽指定前缀路径
    location ~ ^/(en|tc|cn|admin|cms|tv)(/.*)?$ {
        return 404;
    }

    # 放行 API 接口路径
    location ~ ^/(api|client|apifluent|api2)/ {
        proxy_pass http://127.0.0.1:3000;
        proxy_cache off;
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header REMOTE-HOST $remote_addr;
        proxy_set_header Referer $http_referer;
        proxy_set_header X-Forwarded-Proto $scheme;
        proxy_set_header X-Forwarded-Host $host;
    }

    # 放行指定后缀静态资源
    location ~ \.(m3u8|ts|png|jpg|jpeg|webp|gif|mp4|key|txt)$ {
        proxy_pass http://127.0.0.1:3000;
        proxy_cache off;
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header REMOTE-HOST $remote_addr;
        proxy_set_header Referer $http_referer;
        proxy_set_header X-Forwarded-Proto $scheme;
        proxy_set_header X-Forwarded-Host $host;
    }

    # 其余路径全部 404
    return 404;
}

配置好了后该域名仅api接口及m3u8tspngjpgjpegwebpgifmp4keytxt资源可访问,其余链接返回404

注意事项

如果配置好了,就不能通过该域名访问后台进行相关操作了,这里推荐直接使用ip:3000访问后台,再进行相关操作。然后转码设置域名设置也填入该域名。

或者你再添加一个域名绑定EFV,然后不限制访问,这个域名就仅拿来操作后台也可以,自行选择。