AWS Beanstalk使用Apache将www重定向到非www

问题描述 投票:0回答:1

我已经部署了应用程序,使用Tomcat和Apache 2.4创建了一个AWS Beanstalk配置。我还成功安装了Letsencrypt证书并启用了https。 HTTP / 2也已启用并且可以正常工作。我唯一遇到的就是将www重定向到非www。我尝试在战争中添加适当的配置-。ebextensions \ httpd \ conf.d \ ssl.conf,这是:

LoadModule ssl_module modules/mod_ssl.so
LoadModule http2_module modules/mod_http2.so
Listen 443
<VirtualHost *:443>
  Protocols h2 http/1.1
  <Proxy *>
    Require all granted
  </Proxy>

  ServerName example.com
  SSLEngine             on
  SSLCertificateFile "/etc/letsencrypt/live/example.com/fullchain.pem"
  SSLCertificateKeyFile "/etc/letsencrypt/live/example.com/privkey.pem"
  SSLCipherSuite           EECDH+AESGCM:EDH+AESGCM:AES256+EECDH:AES256+EDH
  SSLProtocol           All -SSLv2 -SSLv3
  SSLHonorCipherOrder   On

  Header always set Strict-Transport-Security "max-age=63072000; includeSubdomains; preload"
  Header always set X-Frame-Options DENY
  Header always set X-Content-Type-Options nosniff

  ProxyPass / http://localhost:8080/ retry=0
  ProxyPassReverse / http://localhost:8080/
  ProxyPreserveHost on

  RewriteEngine On
  RewriteCond %{HTTP_HOST} ^www\.(.*)$ [NC]
  RewriteRule ^(.*)$ https://%1$1 [R=301,L]
</VirtualHost>
<VirtualHost *:80>
  ServerName www.example.com
  RewriteEngine On
  Redirect 301 / https://example.com
</VirtualHost>

它实际上会重定向,但是...它会重定向一次!然后,客户端从example.com接收到证书,并且下一个对www.example.com的调用失败,因为为没有www的资源生成了“错误的”证书。结果SEO检查程序无法通过301检查。

我的问题-是否可以使用Apache配置重定向?s3 + Cloudfront是唯一的方法吗?

apache amazon-web-services amazon-elastic-beanstalk
1个回答
0
投票

确定。因此,我终于找到了一种从www设置适当的301重定向的方法。没有s3存储桶和Cloudfront的非www网站版本。

因此从问题描述中Apache可以很好地重定向资源,并且在浏览器获得example.com的证书后,它实际上拒绝了[[subdomains。我错过的是可以生成并使用另一个证书。

第一步是生成证书:

certbot certonly -d *.example.com --manual --preferred-challenges dns

细微之处在于您必须挑战。它将要求将CNAME记录添加到您的托管区域:

Please deploy a DNS TXT record under the name _acme-challenge.domain.com with the following value: cxAGAsIvxQggW5FRAqUJfjsnknsYBjb3 Before continuing, verify the record is deployed.

添加了记录后,按Enter键,您将安装证书。

不要忘记重启Apache!干得好!现在将www.example.com重定向到example.com。

© www.soinside.com 2019 - 2024. All rights reserved.