当前位置: 首页 > 知识库问答 >
问题:

AWS 弹性负载评估将 HTTP 重定向到不带索引的 HTTPS.php

宗政才俊
2023-03-14

我使用AWS Elastic Beanstalk在一些EC2实例上使用负载平衡器来托管我的网站。

我正在使用OctoberCMS(作为框架的laravel风格)

我已通过 AWS 证书管理器通过 ELB 设置了 SSL 证书,一切正常。

但是有一个问题。

我想将HTTP重定向到HTTPS。

根据AWS,我得到了一个小的。执行该工作的htaccess代码片段:

Redirect to HTTPS
RewriteCond %{HTTP:X-Forwarded-Proto} =http
RewriteRule . https://%{HTTP:Host}%{REQUEST_URI} [L,R=permanent]

但是,当用户到达时http://mywebsitesite.com他们需要https://mywebsitesite.com/index.php因此他们开始以的方式浏览https://mywebsitesite.com/index.php/someresource

如果您转到http://mywebsitesite.com/someresource,您将被重定向回https://mywebsitesite.com/index.php

这不是一次好的体验,我知道一定有人以前遇到过这种情况,并且能够正确重定向到资源并删除index.php

我的ELB侦听器默认配置为80--

注意:我没有遇到重定向循环。

共有2个答案

南宫天逸
2023-03-14

可以在.htaccess中添加以下行以隐藏索引。重定向配置后从url中获取php。

RewriteRule ^(.*)$ /index.php?/$1 [L]
呼延明朗
2023-03-14

我将在这个答案的开头说,这是来自雄猫弹性豆茎的代码,但我相信它仍然应该工作。

我的配置代码文件中有:

RewriteEngine On
RewriteCond %{HTTP:X-Forwarded-Proto} !https
RewriteRule ^(.*)$ https://%{HTTP_HOST}$1 [R,L]

这是一个.eb扩展文件的一部分,该文件配置了Apache代理,在我的情况下,它位于Tomcat的前面。

 类似资料:
  • 以下是我的设置: EC2与Apache使用弹性负载均衡器。 我希望所有超文本传输协议流量都自动重定向到https。我找到了这个reco,并通过添加到我的httpd.conf文件中来尝试: 然而,这在我重新启动服务器之前或之后都不起作用。HTTP没有重定向,我的站点抛出了各种错误,直到我从配置中删除了该规则。 我认为我更新文件错误或负载均衡器设置不正确。对于负载均衡器的侦听器,我有LB协议HTTP,

  • 问题是,我还想将HTTP访问重定向到HTTPS,然后我试图添加一个规则将80重定向到443,因此它将落入第一个规则(443到8080)并使用证书,但它不起作用。在网上研究,我发现我应该在我的。htacess文件中添加一些行,但也不起作用。我认为这不是我的解决方案,因为所有HTTPS的东西都在AWS端,有没有一种方法可以只通过AWS将HTTP重定向到HTTPS而不改变服务器?

  • 我有一个子域(test.XXXX.com)指向接受 HTTP(80) 和 HTTPS(443) 请求的 AWS 弹性负载均衡。我已为 HTTPS 连接配置了 443 的 SSL 证书。我尝试过通过更改Web.xml和服务器在Tomcat级别执行HTTP到HTTPS重定向.xml如中所述 http://www.journaldev.com/160/steps-to-configure-ssl-on-

  • 当我们使用AWS应用型负载均衡将传入请求重定向到我们的服务器时,我们创建了一个SSL证书并将其设置为负载均衡器。它同时监听HTTP 80和HTTPS 443端口的流量。在这两种情况下,流量都被重定向到目标组实例的HTTP 80端口。 在这些情况下,有nginx服务器配置为侦听它们所在的实例的HTTP 80端口。 当我更新nginx.conf文件以将传入的HTTP请求重定向到HTTPS协议时,我们面

  • 重定向到 不执行。谁面临过类似的问题?