基于子域名的 nginx 流量重定向

基于子域名的 nginx 流量重定向

我目前正在尝试设置我的 VPS 来托管多个不同的 Docker 容器。

我的域名托管在 Cloudflare (可用端口数量有限)。

经过研究,我认为 nginx 可以解决我的问题。我可以使用它来将流量重定向到我的 VPS 的某些端口。我的计划是让不同的 cname 记录指向我机器的不同端口。

例如:portainer.domain.com-> http://localhost:9443(本例中是我的 portainer 面板)

找到这个之后视频,我的解决方案基于他的:

server {
        listen 80;
        server_name portainer.domain.com;

        access_log /var/log/nginx/portainer.domain.com/access.log;
        error_log  /var/log/nginx/portainer.domain.com/error.log;

        location / {
                proxy_pass http://localhost:9443;
        }
}

我确认配置有效并重新加载了 nginx:

sudo ln -s /etc/nginx/sites-available/portainer.domain.domain /etc/nginx/sites-enabled/
sudo ls -l /etc/nginx/sites-enabled/
sudo nginx -t
sudo systemctl restart nginx

我确保 nginx 在访问我的主机名时正常工作;我得到了Welcome to nginx!

然而,当访问时portainer.domain.com,我得到了This site can't be reached DNS_PROBE_FINSIHED_NXDOMAIN

补充笔记:

  • ufw 已禁用
  • 我的 A 和 CNAME 记录均通过 Cloudflare 代理
  • 我的 A 记录是@并指向ip(我的 VPS)
  • 我的 CNAME 记录是*并指向@
  • 我尝试彻底删除 CNAME 记录,但没有成功

我尝试做的事情可行吗?

相关内容