评论区有小伙伴说域名没有备案,无法使用子域名给每个服务做转发,导致只用使用 域名:端口 的方式访问服务!
相信有很多小伙伴是这种情况。如果没有给别人提供站点服务的需求,我也不建议你去备案!
因为可以借助 Nginx location 指令,规避这种问题!
当然,有钱的话,当然还是备案使用子域名吧!
location 指令通过 Nginx 的 location 指令,我们可以将一个域名的不同路径路由到不同的服务,
例如:
homepage、 emby、 alist、 chat,
我们可以将常用的服务,例如 homepage,给默认端口 80 ,也就是根路径,其他服务使用 location 指定子路径!
server {
listen 80;
server_name example.com;
# 服务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 域名:端口 优雅方便了没有