我在安装了 nginx (1.18.0) 的 AWS Lightsail 上创建了一个 Ubuntu (20.04 LTS) 实例。我还成功地将 docker 映像发布到 AWS Lightsail Container Service,当启用公共端点时,它可以正常工作。但是,我不想向公众公开此服务,而是通过我的 Ubuntu 实例上的反向代理将流量路由到它。
我的问题是当我尝试从我的 Ubuntu 实例卷曲容器服务的私有域 (Could not resolve host servicename.service.local
。根据 Lightsail docs(“私有域”部分),我的“Lightsail 资源与您的服务位于同一 AWS 区域”应该可以访问它。
我对网络还很陌生,所以我非常感谢您提供一些意见。为了从我的实例访问此服务,还有什么需要配置的吗?
我验证过的事情:
非常感谢!
答案 0 :(得分:1)
我刚刚遇到了同样的问题。我启动了两个实例,一个使用 Amazon Linux 2,一个使用 Ubuntu 20.04。 AL2 实例可以通过域名解析和访问容器服务:
[ec2-user@ip-172-26-0-176 ~]$ host nginx.service.local
nginx.service.local has address 172.26.17.185
[ec2-user@ip-172-26-0-176 ~]$ curl http://nginx.service.local/
<!DOCTYPE html>
...
Ubuntu 实例不能。
删除 Ubuntu 实例上的 /etc/resolv.conf
并用 AL2 实例中的那个替换它有什么帮助:
[ec2-user@ip-172-26-0-176 ~]$ cat /etc/resolv.conf
; generated by /usr/sbin/dhclient-script
search eu-central-1.compute.internal
options timeout:2 attempts:5
nameserver 172.26.0.2
它有效,但感觉不是一个特别干净的解决方案,因为这会覆盖 Ubuntu 的 systemd 管理的 resolv.conf。