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>
SSLを次のように追加しました。sudo 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を再起動します。