1

我用 Amazon Lightsail 创建了一个 wordpress 博客,并在 53 号路由上购买了几个域名。我的主域是 example.com,我还购买了:

  • 例子.eu
  • 例子.be
  • 等等

我正在使用 s3 存储桶将所有可能的组合(使用非 www 和使用 www)重定向到 www.example.com(在路由 53 的托管区域中,它是重定向到我的 lightsail 静态 IP 的 www.example.com)。

我已经为 www.example.com 安装了 Lets Encrypt SSL 证书

现在我想强制使用 HTTPS,以便所有请求都重定向到https://www.example.com(使用 301 重定向),我可以使用我的 s3 存储桶执行此操作,但我无法重定向 www.example。 com 到https://www.example.com,因为它与我的静态 IP 地址相关联。

我应该怎么做才能只允许通过 HTTPS 访问我的博客?我在网上搜索了很长时间,发现一些教程说我应该使用 cloudfront 来处理重定向到 HTTPS,但它们从未真正适用于我的情况。

4

1 回答 1

2

所以我终于想通了,感谢这篇文章。我修改了 httpd-app.conf 文件以添加 SSL 重定向规则:

RewriteEngine On
RewriteBase /

#SSL redirection
RewriteCond %{HTTPS} !on
RewriteRule ^ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]

# Rewrite index.php
RewriteRule ^index\.php$ - [S=1]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]

此规则允许使用我安装在服务器上的 SSL 证书(对于域 www.example.com)将所有 HTTP 调用重定向到 HTTPS。

于 2018-01-15T18:06:02.413 回答