
방금 apache2와 haproxy를 새로 Ubuntu에 설치했습니다. Haproxy는 포트 80에서 수신 대기하고 Apache는 3080에서 수신하며 후자는 외부에서 숨겨집니다.
내 문제는 후행 슬래시 없이 폴더 이름을 사용할 때, 예를 들어 example.com/some/folder
Apache가 자동으로 슬래시가 있는 동일한 주소로 리디렉션되지만 잘못된 포트인 example.com:3080/some/folder/
!
Apache 문서에서는 내 문제가 CanonicalName/Port 구성에 있다고 제안했지만 이들 조합이 작동하지 않는 것 같습니다. 내가 무엇을 오해할 수 있겠는가?
내 가상 호스트:
<VirtualHost *:3080>
ServerName http://example.com:80
UseCanonicalName On
UseCanonicalPhysicalPort On
DirectoryIndex index.php index.html
DocumentRoot /var/www/main
<Directory /var/www/main>
Options -Indexes
Options -FollowSymLinks
AllowOverride All
<Files ~'^\.'>
Order allow,deny
Deny from all
Satisfy all
</Files>
</Directory>
</VirtualHost>
답변1
둘 다 사용하지 마십시오.
UseCanonicalName Off
UseCanonicalPhysicalPort Off
HAProxy는 (일반적으로) 전송된 헤더를 처리하지 않으므로 Host
이 구성에는 올바른 Location
헤더를 사용하여 생성된 리디렉션이 있어야 합니다. 이것이 도움이 되지 않으면 Location
응답으로 전송되는 정확한 헤더를 제공하시겠습니까?
그건 그렇고, ServerName
귀하의 가상 호스트가 수신 대기하지 않는 포트가 없어야 하며 단순화할 수 있습니다.
ServerName example.com