使用nginx和docker路由CNAME

fgw7neuy  于 2023-08-03  发布在  Nginx
关注(0)|答案(1)|浏览(132)

我尝试实现api.com => api.myapp.com,但没有成功。

main nginx在docker上的aws/ec2上运行,监听端口80

server {
    listen 80;
    server_name myapp.com;
    location / {
        proxy_pass http://app:80/;
        proxy_set_header X-Real-IP  $remote_addr;
        proxy_set_header X-Forwarded-For $remote_addr;
        proxy_set_header Host $host;
    }
}

server {
    listen 80 l;
    server_name api.myapp.com;
    location / {
        proxy_pass http://api:80/;
        proxy_set_header X-Real-IP  $remote_addr;
        proxy_set_header X-Forwarded-For $remote_addr;
        proxy_set_header Host $host;
    }
}

字符串

myapp.com域名已配置
A Record=> @(host)=> 1.10.10.30(aws-ec2/ip)
A Record=> API(host)=> 1.10.10.30(aws-ec2/ip)

利用这种配置,它工作良好。访问myapp.com解析appapi.myapp.com解析API服务。
(我希望到现在为止一切都好,所以让我知道如果它错误的方式来做)

问题

现在,我想用CNAMEapi.myapp.com配置api.com。我去我的域管理器(godaddy)并设置为:
CNAME => www => api.myapp.com
当我访问api.com时,它解析myapp.com而不是api.myapp.com
怎么办?

3lxsmp7m

3lxsmp7m1#

我觉得你多了一个L,删掉

server {
    listen 80 ;
    server_name api.myapp.com;
    location / {
        proxy_pass http://api:80/;
        proxy_set_header X-Real-IP  $remote_addr;
        proxy_set_header X-Forwarded-For $remote_addr;
        proxy_set_header Host $host;
    }
}

字符串

相关问题