标题

标题

标题

你好。我一直在努力找出为什么我的 EC2 Amazon Linux (1) 实例没有在该https://地址为我的网站提供服务,尽管我已确认 SSL 已配置,但https://www.ssllabs.com/ssltest/。我在网上搜索答案,但仍然一无所获。我从网站的两个查询中获得了以下标头信息;一个带有,一个不带有https://www.example.net并且非www工作但不工作https://。不过,很多内容对我来说都很陌生。

http://example.net/

GET / HTTP/1.1
Host: example.net
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3
Sec-Fetch-Mode: navigate
Sec-Fetch-User: ?1
Upgrade-Insecure-Requests: 1
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_0) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/77.0.3865.120 Safari/537.36

HTTP/1.1 200 OK
Connection: Keep-Alive
Content-Encoding: gzip
Content-Length: 5949
Content-Type: text/html; charset=utf-8
Date: Fri, 18 Oct 2019 19:18:46 GMT
Keep-Alive: timeout=5, max=99
Server: Apache/2.4.39 (Amazon) OpenSSL/1.0.2k-fips PHP/5.6.40
Vary: X-Requested-With,Accept-Encoding
X-Frame-Options: SAMEORIGIN
X-Powered-By: Nette Framework

https://example.net/

GET / HTTP/1.1
Host: example.net:443
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3
Sec-Fetch-Mode: navigate
Sec-Fetch-User: ?1
Upgrade-Insecure-Requests: 1
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_0) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/77.0.3865.120 Safari/537.36

HTTP/1.1 301 Moved Permanently
Content-Length: 98
Content-Type: text/html; charset=utf-8
Date: Fri, 18 Oct 2019 19:09:13 GMT
Location: http://example.net/
Server: Apache/2.4.39 (Amazon) OpenSSL/1.0.2k-fips PHP/5.6.40
Vary: X-Requested-With
X-Frame-Options: SAMEORIGIN
X-Powered-By: Nette Framework

有人能从中确认什么地方出了问题吗?我的配置文件似乎都指向我的证书文件(按照本文所述由 Lets Encrypt 生成:https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/SSL-on-amazon-linux-2.html)。我也不认为我在 中看到了任何与此相关的问题.htaccess,当我将其设置为重定向到 时HTTPS,它确实出现了,但它指向的页面是空白的。

可能出了什么问题?我还能看看哪些东西可能需要更新吗?提前致谢。


编辑:我还发现,在 Nette (2.3) 中,我需要添加isSecured到我的 RouterFactory.php。我已使用此代码完成此操作(已翻译):https://forum.nette.org/cs/26975-routerfactory-https-static-a-pouziti-this-fatal-error-using-this-when-not-in-object-context

当我添加上述内容或向 .htaccess 添加重写规则时(其中一个),我会收到 500 内部错误,而没有重定向错误。

答案1

正如其他人在评论中提到的那样,您实际上并没有提供足够的信息让任何人肯定地说,但我的猜测是您需要在 Nette 应用程序中的某个地方添加以下内容:

Route::$defaultFlags = Route::SECURED;

我不熟悉 Netter,但看起来你从 https 重定向回 http,如果你没有添加上述内容,我猜这是由框架造成的。

如果不是这样,您需要共享您的 Apache 配置。

答案2

在 Amazon 防火墙设置中,将“443”添加到允许“http/80”规则中。甚至可以禁用/删除允许 HTTPS 443 规则。请记住,这是在 Amazon 设置中,而不是在您的虚拟机上。

正如大多数试图提供帮助的人所说,我只是在黑暗中排除故障。

相关内容