HTTPd(EC2) 및 Elastic Search Service(AWS)에 대한 역방향 프록시가 있고, 내 요청을 Httpd에서 ElasticSearch 서비스로 리디렉션하려고 합니다(Elasticsearch 서비스는 외부에서 액세스할 수 없기 때문에 단순히 URL을 다시 쓰지 않고).
그래서 내 Httpd 구성은 다음과 같습니다.
ProxyPass /elasticsearch/ https://MyelasticSearchLongUrl.es.amazonaws.com
ProxyPassReverse /elasticsearch/ https://MyelasticSearchLongUrl.es.amazonaws.com
하지만 문제는 내 httpd가 오류를 생성한다는 것입니다.
ProxyPass 직원CPU 이름(MyelasticSearchLongUrl.es.amazonaws.com) 너무 오래 httpd.service: 기본 프로세스가 종료되었습니다. code=exited, status=1/FAILURE Kill: 프로세스를 찾을 수 없습니다. "" httpd.service: 제어 프로세스가 종료되었습니다. code=exited status=1 Apache HTTP Server를 시작할 수 없습니다. 장치 httpd.service가 실패 상태가 되었습니다. httpd.서비스가 실패했습니다.
httpd 구성, 특히 URL 제한 길이를 변경할 수 있는 방법이 있습니까?
답변1
아니요, 2.4에 도입된 작업자 이름의 하드코딩 제한은 96자입니다. 가지다그것에 대한 버그, 그러나 5년 넘게 "NEW" 상태에 있었던 것을 고려하면 업스트림에서는 신경 쓰지 않는 것 같습니다.
당신이 말했듯이 해결책은 RewriteRule [P]
대신 사용하는 것입니다. 로컬 서비스 파일( Alias
) 과 로컬 서비스 파일이 혼합된 복잡한 설정의 경우 에서 로 이동하면 실행 순서가 변경될 수 있으므로 RewriteRule
주의하세요 .Redirect
ProxyPass
RewriteRule
답변2
이전 답변과 달리 이 오류는https://bz.apache.org/bugzilla/show_bug.cgi?id=53218OP에서 지정한 호스트 이름이 아닌 전체 작업자 이름을 나타내며 httpd v2.4.12부터 잘릴 수 있습니다.
제한된 작업자 호스트 이름은 다른 오류이며 여기에서 다룹니다.https://bz.apache.org/bugzilla/show_bug.cgi?id=62085
두 번째 버그가 수정되어 v2.4.30으로 백포트되었습니다.
Ubuntu에서 권장되는 수정 사항:https://bugs.launchpad.net/ubuntu/+source/apache2/+bug/1750356
답변3
소스에서 컴파일된 Apache HTTPD 2.4.46을 사용하여 Centos 7.4.1708에서 이 문제가 발생했으며, yum update를 실행하여 운영 체제 및 관련 패키지를 업데이트하면 Apache를 다시 컴파일하지 않고도 문제가 해결되는 것으로 나타났습니다.