apache2를 웹 서버로 사용하여 내 웹 사이트 파일이 제대로 설치되어있는 ec2 인스턴스가 있습니다. ec2는 포트 80에서만 HTTP 트래픽을 수신하도록 구성됩니다 (100 %는 아니지만 거의 확실합니다). elb에는 https 리스너 (포트 443) 및 http 리스너 (포트 80)가 있습니다. elb는 aws docs에 따라 데이터를 암호 해독 한 후 ec2 인스턴스로 트래픽을 전송합니다. 내 문제는 모든 트래픽을 https 인 http 인로드 밸런서로 리디렉션하는 방법을 파악할 수 없다는 것입니다.Apache2가 https로 리디렉션되지 않음
사이트의 가상 호스트와 apache2.conf에서이 다시 쓰기 규칙을 사용했지만 모든 종류의 영향 (오류 없음)이 없습니다.
는RewriteEngine On
RewriteCond %{HTTP:X-Forwarded-Proto} !https
RewriteRule ^.*$ https://%{SERVER_NAME}%{REQUEST_URI}
전체 가상 호스트 (/etc/apache2/sites-available/SewaneeEats.conf에 위치)과 같습니다
ServerName classicloadbalancer-1929710381.us-east-1.elb.amazonaws.com
ServerAdmin [email protected]
DocumentRoot /var/www/html/SewaneeEats/public
<Directory /var/www/html/SewaneeEats>
RewriteEngine On
RewriteCond %{HTTP:X-Forwarded-Proto} !https
RewriteRule ^.*$ https://%{SERVER_NAME}%{REQUEST_URI}
AllowOverride All
</Directory>
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
나는 또한 확인할 수 있습니다 해당 모듈 다시 쓰기가 활성화됩니다.
그래서 내가 uran sewaneeeats.com을 입력하면 (이 링크는 확인해야하는 경우 생방송입니다.) 리디렉션하지 않고서도 sewaneeeats.com (ssl이없는 경우)이됩니다. 나는 SSL이 https://www.sewaneeeats.com에서 일하고 있다는 것을 알고있다. https://sewaneeeats.com에서 크롬의 URL 표시 줄에 깨진 ssl 빨간색 기호가 표시됩니다. 나는 그것이 https://sewaneeeats.com URL에 깨진 이유는 인증서가 www 하위 도메인에 등록 되었기 때문에라고 생각하지만 확실하지 않습니다. 도메인은 aws의 라우트 53 콘솔을 사용하여 구성되므로 도움이된다면 그에 대한 정보를 제공 할 수 있습니다.
약 12 시간 정도 동안 이것을 알아 내려고 노력했기 때문에 도움이된다면 도움이 될 것입니다. 이 질문은 serverfault.com에 올렸지 만 10 인 이하의 질문에 대해서는 2 개의 링크 만 있기 때문에 할 수 없습니다.
여기에서 sewaneeeats.com은 www.sewaneeeats.com으로 리디렉션됩니다. SSL 인증서에 관해서는 아마존에서 발급 한 인증서를 사용하고 있습니다. 인증서에 aditional 도메인 이름을 추가 할 수 있습니다. sewaneeeats.com과 www.sewaneeeats.com을 모두 추가하십시오 (새 인증서를 만들어야 할 수도 있음) – at0mzk
@ at0mzk 다시 쓰기 규칙은 사이트의 가상 호스트 구성 파일 (/etc/apache2/sites-available/SewaneeEats.conf 파일)에 있습니다. – Daniel
@ at0mzk 나는 모든 하위 도메인과 기본 도메인을 추가 한 새로운 인증서를 작성했습니다. 이 팁을 가져 주셔서 감사합니다! – Daniel