我正在为我的学校构建一个Webapp,它需要登录功能。因此,我想使用HTTPS来保护密码。当前,页面从我的域中加载了HTTPS,但是当我向AWS发送请求时,即使所有AWS请求都通过HTTPS进行服务,我也会收到不安全的错误。数据已成功发送和接收,但看起来并不安全。
我已经用这头撞墙了几天了。我略有预感,此错误是由于在前端和后端未使用相同的证书而引起的,但是我似乎无法理解这应该如何工作。
我希望在没有chrome的情况下,从“安全”到“不安全”都可以接收数据。
我的页面为led.s0rensen.no。 (对不起,它是挪威语的)最初加载页面时,它是安全的,但是当您按下“ Styret”,“ Samarbeidspartnere”或“ Logg inn”时,它将向AWS发送请求,并立即切换到“不安全”。在“ Samarbeidspartnere”路由中,所有数据均按原样显示,但状态仍更改为“不安全”
我真的很感谢您的帮助,最重要的是,我也许最终可以理解这些证书的工作原理。谢谢!
答案 0 :(得分:0)
当前有两个问题。
您正在使用https://ledtest-dev.eu-west-3.elasticbeanstalk.com/api/isLoggedIn来登录表单,无法获得elasticbeanstalk.com的证书,因此您需要使用诸如login.s0rensen.no之类的东西(CNAME到ledtest-dev。 eu-west-3.elasticbeanstalk.com),并具有ACM的login.s0rensen.no证书或Lets加密等。
上述问题也导致CORS问题,因为cors来源ledtest-dev.eu-west-3.elasticbeanstalk.com在选项请求中未提供CORS标头。一旦将其更改为login.s0rensen.no,这也应该可以解决cors问题和cert问题。
还要检查您的代码,以便查看是否没有带http引用的css,js等。
答案 1 :(得分:0)
我检查了您的网站https://led.s0rensen.no./,问题不是AWS / Chrome,而是SSL证书本身以及缺少的根证书。
SSL证书分为3部分
添加证书时,您需要创建所有三个证书的捆绑包,然后应用它。
我了解您正在使用node.js,对于下面的link.js链接,提供了有关如何添加捆绑包证书的详细信息。
https://cheapsslsecurity.com/blog/how-to-install-ssl-certificate-on-node-js/
如果您没有根证书,则可以从任何CA提供商处购买证书 下面提供了CA SSL证书提供商的列表。
https://www.sslshopper.com/certificate-authority-reviews.html
否则,您可以通过route53在托管站点上使用aws域,但是它将仅与aws域一起提供。
答案 2 :(得分:0)
问题:
我设法在AWS上取得证书,但是由于两个不同的域名,我从led.s0rensen.no向AWS(* .elasticbeanstalk.com)发出的请求被认为不安全。因此,s0rensen.no上的证书无法担保AWS。
解决方案:
我为我的所有API需求设置了另一个子域,并将其指向AWS。所以现在我的请求从前端(led.s0rensen.no)转到指针(ledapi.s0rensen.no)。由于这些文件位于同一域,并且我的证书现在用于* .s0rensen.no,因此它们可以在同一证书上工作,并且漂亮的绿色锁保持不变。