我有静态UI页面,它们对其他ECS-Fargate容器进行REST api调用。静态页面再次托管在具有Nginx的容器中。路由53 DNS服务无法解析api调用。如果我启动一个EC2实例并使用nslookup,那么地址转换将正确进行。
所有容器都在同一子网中,只有Nginx-Angular容器具有公共ip地址。我希望通过互联网访问Nginx-Angular容器,它将对其他ECS Fargate容器进行api调用。请告知。
nginx.conf
worker_processes 1;
events {
worker_connections 1024;
}
http {
server {
#listen 80;
server_name localhost;
ssl_certificate /etc/nginx/ssl/nginx.crt;
ssl_certificate_key /etc/nginx/ssl/nginx.key;
listen 443 ssl;
root /usr/share/nginx/html/login-ui;
index index.html index.htm;
include /etc/nginx/mime.types;
gzip on;
gzip_min_length 1000;
gzip_proxied expired no-cache no-store private auth;
gzip_types text/plain text/css application/json application/javascript application/x-javascript text/xml application/xml application/xml+rss text/javascript;
location / {
try_files $uri $uri/ /index.html;
}
}
答案 0 :(得分:0)
我通过将angular&nginx容器保留在专用子网中解决了这个问题。我使用公共子网中的公共IP设置了应用程序负载平衡器。我使用Nginx反向代理机制路由来自互联网的所有流量,并且请求由Nginx解析,并使用Route53内部DNS转发到我的API容器。浏览器必须仅将所有请求发送到Nginx位置,并且应确定使用Route53内部dns将私有Intranet主题路由到何处。 authenticationservice.local 是我的DNS条目。这是我的nginx.conf。
$refs.{ref name}[0].methodToCall()