我有一个通过 Let's Encrypt 设置了 SSL 证书的域名,因此它只能通过https://example.com/
该域名通过 WireGuard 隧道连接到我的家用电脑,该电脑通过本地 IP 为 Laravel 应用程序提供服务,无需 SSL,因此在开发时我无需证书192.168.10.10
即可访问。http://192.168.10.10
该域在 EC2 实例上的 Ubuntu VM 上运行,并使用 nginx 将域中的请求代理传递到本地 PC,本地 PC 也通过 nginx 为应用程序提供服务
当我通过本地 IP 在本地使用我的应用程序时,一切都运行良好。但是当我访问我的域时,https://example.com/
有些东西不起作用。例如登录 - 当我访问https://example.com/login
并尝试登录时,它首先提示我该The information you’re about to submit is not secure
页面,因为我的应用程序本地未使用 HTTPS。然后当我单击时,Send Anyway
它只会刷新登录页面而不是登录。
浏览器提示是The information you’re about to submit is not secure
因为我在本地开发时,应用会生成不安全的URL,所以表单如下:
<form method="POST" action="http://example.com/login">
因此,当我将其更改为安全 URL 时:
<form method="POST" action="https://example.com/login">
它可以从域中运行!但是我419 | Page Expired
从本地登录页面获取
在 EC2 实例中,我只是使用 nginx 作为代理,将所有内容从 http 重定向到 https,并从 URL 重定向到 WireGuard IP。
在本地电脑上,该应用程序也通过 nginx 在端口 80 上提供服务