OpenWRT 给本地服务设置域名

2023-03-08  本文已影响0人  几簟生凉

先说一下网络环境:

需求是我想用jf.me代替jellyfin这一长串的地址10.1.1.2:8096,用al.me代替alist的这一长串10.1.12:5244

思路很好想,只需要两步,以jellyfin为例。
首先让OpenWRT接管jf.me,这一步需要域名解析系统(DNS)来做,OpenWRT中是Dnsmasq提供的服务。配置如下图

DNS配置
然后,用Nginx把指向10.1.1.1:80且目的地址为jf.me的请求转发给10.1.1.2:8096。我的OpenWRT来自https://supes.top/,定制了Nginx,如果你没有Nginx,需要自己下载且代替OpenWRT默认的web服务器uhttpd。我下面说的配置针对我的系统,你自己安装的需要配置的文件位置可能不一样,但是内容一样。

查看/etc/nginx/uci.conf的代码,http节点中有include conf.d/*.conf;,所以我们在/etc/nginx/conf.d文件夹中新建一个forward.conf来配置所有的转发服务。/etc/nginx/conf.d/forward.conf的代码如下,一个server代表一个服务,第一个server是jellyfin,第二个是alist,每一个转发服务其实只需要三个配置选项,具体看alist的配置。

server
{
    listen 80;
    server_name jf.me;
    index index.php index.html index.htm default.php default.htm default.html;

    location /
    {
        proxy_pass "http://10.1.1.2:8096";
        proxy_set_header Host jf.me;
        proxy_set_header X-Forwarded-For $remote_addr;
    }
    
}
server
{
    listen 80;
    server_name al.me;

    location /
    {
        proxy_pass "http://10.1.1.2:5244";
    }
    
}

配置完成之后执行命令nginx -t -c /etc/nginx/uci.conf检查配置文件语法是否正确。如果无误输入/etc/init.d/nginx restart重启Nginx服务。

al.me

即可!

上一篇 下一篇

猜你喜欢

热点阅读