不备案的情况下,一个域名怎么给多个服务做导航?
前言
评论区有小伙伴说域名没有备案,无法使用子域名给每个服务做转发,导致只用使用 域名:端口
的方式访问服务!
相信有很多小伙伴是这种情况。如果没有给别人提供站点服务的需求,我也不建议你去备案!
因为可以借助 Nginx location
指令,规避这种问题!
当然,有钱的话,当然还是备案使用子域名吧!
Nginx location
指令
通过 Nginx
的 location
指令,我们可以将一个域名的不同路径路由到不同的服务,
例如:
homepage
、 emby
、 alist
、 chat
,
我们可以将常用的服务,例如 homepage
,给默认端口 80
,也就是根路径,其他服务使用 location
指定子路径!
配置
代码语言:javascript代码运行次数:0运行复制server {
listen 80;
server_name example;
# 服务A配置
location /emby/ {
proxy_pass http://localhost:3000/;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
# 服务B配置
location /alist/ {
proxy_pass http://localhost:4000/;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
# 服务C配置
location /chat/ {
proxy_pass http://localhost:5000/;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
# 根路径配置
location / {
proxy_pass http://localhost:6000/;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
}
接着重载配置: nginx -s reload
,配置就生效了!这样,就是给别人临时分享自己的服务,也不会觉得别扭了!(我是强迫症患者)!
最后,你如果有 homepage
服务,可以在这里指定快捷访问方式,当然浏览器新建的标签页也是可以设置的!
最后
这种方案实现了单域名服务多个独立应用,避免了子域名需要备案才能使用的烦恼。
所以这样配置之后,你觉得 域名:路径
vs
域名:端口
优雅方便了没有