我有一个问题,我无法弄明白,因为它非常随意。
我设置了ELB(端口80 - > 80和443 - > 80),后面有两个实例。 我想要的是:http请求到达elb,它将它转发到后端ec2实例之一。在接收到请求的实例上运行的Apache将其重定向到https,因此请求在https上再次发送到elb并将其转发到其中一个后端实例,所以现在apache接受了它。我正在努力遵守规则所以这是我在经历了一些与SO相关的线程之后最终做的事情:
<VirtualHost *:80>
ServerAdmin webmaster@localhost
ServerName ***.com
DocumentRoot /home/**/public
<Directory />
Options FollowSymLinks
AllowOverride None
</Directory>
<Directory /home/**/public >
Options Includes FollowSymLinks
AllowOverride All
Require all granted
</Directory>
RewriteEngine on
RewriteCond %{HTTP:X-Forwarded-Proto} ^http$
RewriteRule .* https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]
LogLevel warn
ErrorLog ${APACHE_LOG_DIR}/ log
CustomLog ${APACHE_LOG_DIR}/ combined
</VirtualHost>
我有s3 + cloudfront设置(正如我想的那样,因为有时网站可以正常工作)。
当我尝试检查我的网站时,有时它会按预期工作,有时它不会显示太多的重定向循环错误,有时它会显示我的CORS错误。我想不出一种调试或仔细查看正在发生的事情的方法。我不知道.htaccess文件是否有关于此的事情,但我认为它没有关系,因为网站有时可以正常工作。
任何帮助将不胜感激,并提前感谢您。
编辑 1 :在AWS管理控制台中进行一些设置后,没有更多的CORS问题。仍然持续存在太多的重定向循环,这种情况是任意的(有时)。