Magento重定向AWS Load Balancer

时间:2016-10-27 19:50:50

标签: magento amazon-web-services nginx load-balancing

下午好,

我在AWS上的Auto Scaling组上运行Nginx进行Magento安装,标准3个实例。为了重定向流量,我使用带有SSL的负载均衡器,导致我的结构如下所示:

使用者>负载均衡器(端口443)>实例(端口80)

我在表mg_core_config_data中将我的数据库更改为要使用https的URL。

我认为正在发生的问题如下:

每次访问我的URL时,Load Balancer都会尝试获取正文内容,以便向我发送我请求的信息,这样,当我使用端口80时,Load Balancer到达我的实例并尝试加载Magento,数据库中的base_url重定向到https。通过此重定向,该过程将再次重复,因为我已重定向回https://并尝试再次获取端口80上的实例信息。我认为每个问题都在这个base_url中,我不能用端口80返回magento信息。

按照我的nginx配置:

server {
    listen 80 DEFAULT_SERVER;

    server_name _;
    root /home/ubuntu/www/mysite;
    index index.php index.html index.htm;

    location / {
        try_files $ uri $ uri / /index.php$is_args$args;
    }

    location ~ \ .php $ {
        try_files $ uri /index.php = 404;
        fastcgi_pass unix: /run/php/php7.0-fpm.sock;
        fastcgi_index index.php;
        fastcgi_param SCRIPT_FILENAME $ document_root $ fastcgi_script_name;
        fastcgi_params include;
        fastcgi_cache CACHE;
        fastcgi_cache_methods GET HEAD;
        fastcgi_cache_valid 200 1m;
        fastcgi_cache_bypass $ no_cache;
        fastcgi_no_cache $ no_cache;
    }

    ...
}

我通过https:

访问负载均衡器的错误

enter image description here

enter image description here

任何人有任何建议或已经通过这个?

谢谢。

1 个答案:

答案 0 :(得分:0)

查看您的说明,问题是您的实例认为他们是通过HTTP(而不是HTTPS)访问并重定向到HTTPS。

这不是ELB问题,ELB只是转发HTTP请求。它也不是EC2问题,因为EC2不能在HTTP级别上运行。

重定向要么是由于 - 你的nginx服务器
- 您的magento安装

通常,在Web服务器级别配置ssl重定向行为。

您共享的nginx配置代码段中没有重定向。您没有共享整个配置文件,因此请在您的nginx配置文件中查找重定向或301或302。还要在magento安装文件夹中调查其他nginx配置文件和.htaccess文件。

我不熟悉Magento,但Magento也可能导致http(s)重定向。 确保你设置了'外面的' url(映射到ELB的那个)作为您的基本URL,因为这将是来自最终用户的基本URL'观点。

https://www.siteground.com/tutorials/magento/magento_ssl.htm上,您可以找到有关配置Magento for SSL的说明。尝试将基本URL设置为http://并激活“安全网址”可能值得尝试。选项。