Route 53,Nginx,SSL,将http重定向到https,将www重定向到非www

2hh7jdfx  于 2023-03-29  发布在  Nginx
关注(0)|答案(1)|浏览(172)

我已经花了几个小时,但没有得到所需的结果.不知道它是否与浏览器缓存-由于某种原因,在Firefox中它工作正常,但不是其他任何地方.我的设置如下:

Route 53:

example.com A   Simple  -   No  x.x.x.x
example.com AAAA    Simple  -   No  x:x:3:d0::x:x
www.example.com A   Simple  -   Yes  example.com.
www.example.com AAAA    Simple  -   Yes  example.com.

本质上,我已经创建了一个别名,将所有www流量重定向到Route 53中的非www流量。
在NGINX中,我创建了这样的块:

server {
    listen 80 default_server;
    listen [::]:80 default_server;
    server_name example.com www.example.com ;
    return 301 https://$server_name$request_uri;
}

server {

    listen 443 ssl http2 default_server;
    listen [::]:443 ssl http2 default_server;
    server_name example.com www.example.com;
    include snippets/ssl-example.com.conf;
    include snippets/ssl-params.conf;
    large_client_header_buffers 4 32k;

    root /var/www/mydomain;
    index index.php;

}

我认为这个过程是有意义的,但我没有得到服务器响应:
无法访问此站点
404 Error:抱歉,您所查找的页面不存在,可能已被删除或您输错了网址!

nzrxty8p

nzrxty8p1#

使用Route 53和NGINX的方法是一种常见且正确的方法。这取决于您的特定要求,限制和基础设施配置自动化。
一种替代方法是使用带有HTTPS侦听器规则的AWS应用程序负载均衡器(ALB)。使用这种方法,您可以创建一个侦听器规则,该规则匹配www.example.com的传入请求,并将它们重定向到example.com。复制:

  • 创建ALB并配置HTTPS侦听器以处理传入请求。
  • 创建目标组并注册运行NGINX的示例。
  • 创建与www.example.com的传入请求匹配的侦听器规则,并使用重定向操作将这些请求重定向到example.com

另一种选择是使用AWS CloudFront和分发来处理www和非www流量,并将www流量重定向到非www。复制:

  • 创建一个CloudFront分发,并将其配置为从您的源(例如,运行NGINX的EC2示例)提供内容。
  • 为您的发行版创建一个替代域名,其中包括您的域的www和非www版本。
  • 创建一个CloudFront函数,将传入的www.example.com请求重定向到example.com。
  • 将该函数与匹配www.example.com的传入请求的触发器相关联。

总的来说,这些方法实现了相同的目标。

相关问题