如何使用Varnish和Nginx向AWS Load Balancer发出HTTPS请求?

时间:2019-02-11 16:45:16

标签: nginx https load-balancing backend amazon-route53

我在AWS上具有以下结构:

Route 53 DNS-> HTTPS负载均衡器(南美)-> Varnish(南美)-> Nginx(南美)->路由53-> HTTPS负载均衡器(俄勒冈)->后端Ec2实例(俄勒冈州)。

我知道,它可以改进,但是现在我需要解决这个问题。我无法连接到俄勒冈州的负载均衡器。我使用AWS ACM生成了证书。那是我在Nginx中的配置:

   include /etc/nginx/conf.d/*.conf;

    server {
        listen       8080 default_server;
        listen       [::]:8080 default_server;
        root         /usr/share/nginx/html;

        # Load configuration files for the default server block.
        include /etc/nginx/default.d/*.conf;

        location / {
         proxy_pass https://mydns:443/;
         proxy_set_header X-Real-IP $remote_addr;
        }

        error_page 404 /404.html;
            location = /40x.html {
        }

        error_page 500 502 503 504 /50x.html;
            location = /50x.html {
        }
    }
}

我是否需要在Nginx中配置SSL?如果是这样,我如何获得在AWS生成的证书?

谢谢你!

1 个答案:

答案 0 :(得分:1)

也许,您的问题是这样的:

您在南美有一个负载均衡器,它的VPC带有子网,并且您想连接到位于俄勒冈州的另一个负载均衡器,而该负载均衡器还有一个带有其他子网的VPC。

您的nginx位于南美,您想连接到俄勒冈州。除非您要访问Internet(您的nginx必须访问Internet),否则有两种可能:

  • 您要转到公共托管区域,但LB未配置为 从您的AWS的南美IP接收流量。
  • 您要转到专用托管区域,并且需要VPC对等才能建立连接。