如何使用 Elastic Beanstalk 将常规域条目路由到安全端口 443

How to route regular domain entry to secure port 443 using Elastic Beanstalk

我有 PHP 个网站(从现在起将其称为 awesomedomain.com。)目前在 Elastic Beanstalk 中使用 SSL 和 运行 进行负载平衡。

我可以通过 https://awesomedomain.com/ 获得到站点的安全连接,但是每当我输入“awesomedomain.com”时,它仍然作为不安全端口连接。

我有两个监听器 80 和 443 设置。如何将所有传入流量路由到端口 443 以进行全球 SSL 连接?

在此先感谢大家。

干杯,

~生物

您可以设置两种方式:

  1. 设置规则是主机文件:
NameVirtualHost *:80
<VirtualHost *:80>
   ServerName abc.example.com
   Redirect permanent / https://abc.example.com/
</VirtualHost>

<VirtualHost _default_:443>
   ServerName abc.example.com
  DocumentRoot /var/www/html/example
  SSLEngine On 
</VirtualHost>

修改后不要忘记重启服务器。

  1. .htaccess 文件中:
RewriteEngine On

RewriteCond %{HTTPS} off 

RewriteRule ^ https://%{HTTP_HOST}%{REQUEST_URI}
  1. 如果您使用 CloudFront 和 ELB 作为 ssl 证书的端点,则 CloudFront 可以选择将所有请求从 http 重定向到 https。

当您键入“awesomedomain.com”时,浏览器会自动向其添加“http://”,然后尝试访问该服务器的端口 80。您的应用程序必须针对从端口 80 到端口 443 的请求发送重定向,以强制浏览器使用 SSL。如果您使用的是应用程序负载均衡器 (ALB) 或 CloudFront,则可以在那里配置重定向。否则,您的服务器需要从负载均衡器检测 X-Forwarded-Proto header 的值,如果不是 443.

则发出重定向

在 Elastic Beanstalk 中执行此操作的方法已记录 here