我目前正在尝试设置我的 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 记录,但没有成功
我尝试做的事情可行吗?