이 주제에 대해 설명하고 HTTP 트래픽을 리디렉션하는 두 가지 방법의 차이점을 설명하고 내 요구 사항에 더 적합한 방법을 선택하는 데 도움을 주실 수 있습니까?

이 주제에 대해 설명하고 HTTP 트래픽을 리디렉션하는 두 가지 방법의 차이점을 설명하고 내 요구 사항에 더 적합한 방법을 선택하는 데 도움을 주실 수 있습니까?

저는 웹사이트 호스팅에 대해 배우고 있는데 이제 점점 더 많은 YouTube 리소스에서 HTTP에서 HTTPS로 트래픽을 리디렉션하는 것을 권장하고 있습니다. 이를 수행하는 두 가지 방법을 찾았으며 2023년에 어떤 방법이 더 좋고/선호되는 방법인지 알고 싶습니다.

현재 저는 가상 호스트 .conf 파일을 사용하여 HTTP 트래픽을 HTTPS로 리디렉션하고 있으므로 지금은 .htaccess 리디렉션에 관심이 없습니다.

HTTP를 HTTPS로 리디렉션하는 두 번째 방법은 다음과 같습니다.

<VirtualHost *:80>
   ServerName firstsnow.dev
   ServerAlias www.firstsnow.dev
   DocumentRoot /var/www/first
   ErrorLog ${APACHE_LOG_DIR}/error.log
   CustomLog ${APACHE_LOG_DIR}/access.log combined

   Redirect permanent / https://firstsnow.dev/
</VirtualHost>

<VirtualHost *:443>
   ServerName firstsnow.dev
   ServerAlias www.firstsnow.dev
   DocumentRoot /var/www/first
   ErrorLog ${APACHE_LOG_DIR}/error.log
   CustomLog ${APACHE_LOG_DIR}/access.log combined

   <If "%{HTTP_HOST} == 'www.firstsnow.dev'">
      Redirect permanent / https://firstsnow.dev/
   </If>
# https://httpd.apache.org/docs/2.4/expr.html

SSLCertificateFile /etc/letsencrypt/live/firstsnow.dev/fullchain.pem
SSLCertificateKeyFile /etc/letsencrypt/live/firstsnow.dev/privkey.pem
Include /etc/letsencrypt/options-ssl-apache.conf
</VirtualHost>

# vim: syntax=apache ts=4 sw=4 sts=4 sr noet

나는 발견했다여기. 이 글은 2020년 1월 기사이므로 가장 최신의 지식인 것으로 보입니다.

하지만 CertBot을 사용하여 SSL 인증서를 설치하면이 튜토리얼converse.conf, CertBot이 이미 가지고 있는 파일 에 다음 4줄을 추가한 것을 확인했습니다 (아래 참조).

<VirtualHost *:80>
   ServerName converse.nexus
   ServerAlias www.converse.nexus
   DocumentRoot /var/www/conv
   ErrorLog ${APACHE_LOG_DIR}/error.log
   CustomLog ${APACHE_LOG_DIR}/access.log combined


RewriteEngine on
RewriteCond %{SERVER_NAME} =converse.nexus [OR]
RewriteCond %{SERVER_NAME} =www.converse.nexus
RewriteRule ^ https://%{SERVER_NAME}%{REQUEST_URI} [END,NE,R=permanent]
</VirtualHost>
# https://httpd.apache.org/docs/2.4/expr.html

별도의 가상 호스트 파일을 만들었습니다 converse-le-ssl.conf.

이는 RewriteEngine첫 번째 Redirect permanent / https://firstsnow.dev/방법과 완전히 다릅니다.
모양과 느낌이 다를 뿐만 아니라 요청 헤더 %{SERVER_NAME}대신 환경 변수를 사용하는데 %{HTTP_HOST}왜 그런지 모르겠습니다.

이 주제에 대해 설명하고 HTTP 트래픽을 리디렉션하는 두 가지 방법의 차이점을 설명하고 내 요구 사항에 더 적합한 방법을 선택하는 데 도움을 주실 수 있습니까?

저는 이제 막 웹 개발, Linux 관리 및 apache2 가상 호스팅에 대해 배우기 시작했습니다. 현재 저는 이름 기반 웹 호스팅을 사용하여 매우 간단한 웹사이트 3개를 운영하고 있으며, 4번째 웹사이트도 곧 출시될 예정입니다.

관련 정보