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
그런 다음 아파치를 다시 시작하십시오.