Wheezy에서 Jessie로 서버를 업그레이드했는데 Apache 2.4가 작동을 멈췄습니다...
특히 포트 443에는 SSL이 없습니다 ....
telnet myhost 443
GET https://myhost
<html><meta http-equiv='Content-Type' content='text/html; charset=utf-8'/><body>Something in /var/www/html/index.html</body></html>>Connection closed by foreign host.
그것은해야한다:
<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
<html><head>
<title>400 Bad Request</title>
</head><body>
<h1>Bad Request</h1>
<p>Your browser sent a request that this server could not understand.<br />
Reason: You're speaking plain HTTP to an SSL-enabled server port.<br />
Instead use the HTTPS scheme to access this URL, please.<br />
</p>
</body></html>
Connection closed by foreign host.
SSLEngine이 켜져 있습니다. 어제 모든 것이 제대로 작동했지만 Jessie가 아니라 Wheezy였습니다...
* 업데이트 * 새로운 생각 - :443에 대한 연결이 /var/log/apache2-ssl/access.log 대신 /var/log/apache2/access.log에 기록된다는 것을 알았습니다. 그런데 왜 그럴까요?
답변1
해결책은 찾기가 매우 어려웠습니다. 우연의 일치만이 그것을 찾는 데 도움이 되었습니다.
Apache2.4에는 .conf
확장이 필요합니다....
두 개의 파일이 있었습니다. /etc/apache2/sites-available/http
그리고 /etc/apache2/sites-available/https
물론 /etc/apache2/sites-enabled/
.
내가 취한 해결책을 찾으려고 노력 default-ssl.conf
하고 그것을 심볼릭 링크로 만들었고 작동했습니다! 그래서 차이점이 어디에 있는지 찾기 위해 모든 줄을 복사했지만 아무것도 발견하지 못했습니다. https
into 으로 이름을 바꾸고 https.conf
심볼릭 링크를 만들었더니 작동합니다!!!
가장 큰 실수는 이름 을 a2ensite
.http
http.conf
6시간 동안 아무것도 검색하지 않았습니다. 한숨....하지만 이것이 다른 누군가에게 도움이 될 수도 있습니다..
답변2
Apache 2.4의 릴리스 노트를 읽어보셨나요?
"특히 액세스 제어 지시어가 상당히 변경되었으므로 새 지시어로 수동으로 마이그레이션해야 합니다."
답변3
인증 구성을 사용하는 데에도 동일한 문제가 발생했습니다. 발견하고 변화하는 것은 지연이다.
<Directory /var/www/webalizer>
Options Indexes FollowSymlinks MultiViews
# AllowOverride all
# Order allow,deny
Require all granted
</Directory>
이전 설정은 주석(#)입니다. 그것이 당신에게 효과가 있나요?