这是我的情景: 我有一台aws ec2机器(coreOs) 我已经托管了多个API - 所有都在docker容器中 3.我有HA代理侦听另一个侦听某个端口的端口(例如999)并负载均衡多个API。完美的工作...... 我有另一个ngnix容器,它容纳我的角度站点。这显然会侦听端口80.假设它已映射到http://pagladasu.com
我想要的是创建http://one.pagladasu.com和http://two.pagladasu.com等等。并且希望每个指向docker容器中的不同角度应用程序。
问题是 - 两者都需要收听端口80 - 那么如何实现?
答案 0 :(得分:2)
创建一个侦听端口80并运行Nginx的容器。使用one.pagladasu.com
将每个子域(two.pagladasu.com
,proxy_pass
)的虚拟主机配置为Nginx,以将连接发送到上游角度容器。像这样:
server {
listen 80;
server_name one.pagladasu.com;
location / {
proxy_pass http://one-pagladasu-com;
}
}
server {
listen 80;
server_name two.pagladasu.com;
location / {
proxy_pass http://two-pagladasu-com;
}
}
将此Nginx容器链接到两个角度容器。 Docker会为您修改/etc/hosts
,以便您可以按名称引用它们。在这种情况下,我假设它们的名称类似于one-pagladasu-com
,但当然它可以是任何东西。
现在流程是Requests => Nginx虚拟主机容器=>角度容器=> HAProxy =>的API。