添加 SSL 后 laravel 不执行

添加 SSL 后 laravel 不执行

我正在尝试在 EC2(AWS linux 2) 和 apache 服务器上运行 laravel。我最近从 Namecheap 购买了一个域名

在此输入图像描述

我将 laravel 安装到 var/www/html 文件夹中。

我的/etc/httpd/conf/httpd.conf有那些线,

DocumentRoot "/var/www/html/public"

<Directory "/var/www/html">

    AllowOverride All

    #
    # Controls who can get stuff from this server.
    #
    Require all granted
</Directory>

这是我的/etc/httpd/conf.d/vhost.conf这是

<VirtualHost *:80>

  ServerName mydomain.store

  ServerAlias https://www.mydomain.store

  DocumentRoot /var/www/html/public

  ServerAdmin mailto:[email protected]

  
  <Directory /var/www/html>
    AllowOverride All
  </Directory>

RewriteEngine on
RewriteCond %{SERVER_NAME} =mydomain.store [OR]
RewriteCond %{SERVER_NAME} =https://www.mydomain.store
RewriteRule ^ https://%{SERVER_NAME}%{REQUEST_URI} [END,NE,R=permanent]
</VirtualHost>

我通过添加 SSLsudo certbot --apache

当我在浏览器中添加这样的内容时(不是真实的IP)http://18.181.183.11/我的应用程序运行良好。但是当我添加https://mydomain.store在浏览器中我得到这样的文件结构,

在此输入图像描述

当我添加https://mydomain.store/public在浏览器应用程序中有效。

有谁知道为什么?

答案1

经过大量努力,我自己找到了答案。发布它认为它可能对像我这样的人将来有所帮助。

我用了让我们加密用于创建 ssl,它会自动为文件内的端口 443 (https) 创建虚拟主机vhost-le-ssl.conf

所以我们需要访问该文件,

sudo vi /etc/httpd/conf.d/vhost-le-ssl.conf

并将文档根目录更改为(指向公共文件夹),

DocumentRoot /var/www/html/public

然后重启apache。

相关内容