좋아, 그래서 나는 이전에 SSL / HTTPS에 대한 경험이 없었으며, 표준 HTTP 만 다루었습니다. 최근에 SSL이 필요한 사이트에서 작업을 시작했습니다. 물론, 나는 나가서 시작하는 방법을 연구했습니다. SSL 인증서를 성공적으로 설치하는 단계에 도달했습니다. 녹색 자물쇠가 나타나고 서버가 포트 443에서 HTTPS 요청에 응답합니다. 내가 가진 문제는 내가 무엇을하든 HTTPS / 그러나 SSL은 포트 80 / HTTP에서 정상적으로 나타납니다 (HTTP를 HTTPS로 리디렉션 할 때까지).
간단히 말해서 HTTPS 사이트에 절대적으로 액세스 할 수는 있지만 페이지가 전송되지 않고 모든 요청에 대해 404가 전송됩니다.
/etc/apache2/sites-available/[name].conf
<VirtualHost *:80>
ServerName [serverName]
RewriteEngine On
RewriteCond %{HTTP:X-Forwarded-Proto} !https
RewriteRule ^ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=302]
</VirtualHost>
<VirtualHost *:443>
ServerName [serverName]
ServerAdmin [email]
DocumentRoot [docRoot]
# I know the following SSL cert stuff is correct
SSLEngine On
SSLCertificateFile [...]/[domain].crt
SSLCertificateKeyFile [...]/[certificate].key
SSLCertificateChainFile [...]/[theotherone].crt
ErrorLog ${APACHE_LOG_DIR}/[custom]_error.log
CustomLog ${APACHE_LOG_DIR}/[custom]_access.log combined
<Directory "[docRoot]">
Options Indexes FollowSymLinks MultiViews
AllowOverride All
Order allow,deny
allow from all
</Directory>
</VirtualHost>
보고 싶은 것이 있거나 다른 세부 사항이 있는지 확실하지 않지만 알려주세요.
편집하다:
구성 파일에서 일부 검색을 한 후 HTTPS에 연결할 때 서버가 기본 구성 (/ var / www /)에서 문서 루트를 사용하지만이 기본 구성은 a2ensite에서 사용하도록 설정되지 않았습니다. 이것을 일으키는 구성이 어디에 있는지 알 수없는 것 같습니다.
Rewrite
당신이 심하게 구성 리버스 프록시 뒤에 아파치를 실행하려고처럼 지시어 보인다. Apache가 프록시없이 도메인을 직접 제공하는 경우 모든Rewrite
지시문을 삭제 하고 단일 지시문으로 바꿔야합니다Redirect
. 각 요청에 대해VirtualHost
어떤VirtualHost
프로세스를 정확하게 볼 수 있도록 각각에 대해 별도의 로그 파일을 구성 하십시오 .