Apache HTTP 2.4를 역방향 프록시로 사용합니다. 내 구성은 하나의 생각을 제외하고 잘 작동 :reverseProxy : 포함 된 JavaScript 파일의 내용을 변경하는 방법
- 나는이 내 실제 가상 호스트 구성입니다
파일 임베디드 자바 스크립트에서 문자열 컨텐츠 (URL)를 변경하려면 :
<VirtualHost web.mydomain.com:80>
ServerName web.mydomain.com
ServerAlias web.mydomain.com
DocumentRoot "..."
...
RewriteEngine On
RewriteCond %{REQUEST_METHOD} OPTIONS
RewriteRule ^(.*)$ $1 [R=200,L]
#Options -Indexes
#ProxyRequests On
#ProxyPreserveHost Off
# Web App
ProxyPass /hello http://middleware.mydomain.com:8082/hello-world-0.0.7
ProxyPassReverse /hello http://middleware.mydomain.com:8082/hello-world-0.0.7
AddOutputFilterByType SUBSTITUTE text/html
Substitute "s|hello-world-0.0.7|hello|ni"
</VirtualHost>
도와 주시겠습니까?
안녕 주셔서 감사합니다 : 당신은 단지 하나의 파일에 대한 대체를 사용해야 할 경우 아파치는 해당 파일에 대한 추가 작업을 수행하도록, 나는 블록에서 AddOutputFilterByType, 대체 및에 RequestHeader 지시어를 포장하는 것이 좋습니다 솔루션 및 유용한 의견을 제공합니다. 내 규칙의 콘텐츠 유형이 text/html 인 이유는 html.head.base 태그의 콘텐츠를 변경하는 데 사용되기 때문입니다. 내 가상 호스트 정의에 제안 된 구성을 추가하고 매력처럼 작동합니다. 고마워! – zappee
질문이 하나 더있을 수 있습니까? URL이 http://web.mydomain.com/hello/ 인 경우 위의 규칙이 적용됩니다. 이 경우 html.head.base 태그가 예상대로 변경되었습니다. 그러나 요청 URL이 http://web.mydomain.com/hello/whatever이면 html.head.base 태그에 원본 콘텐츠가 포함됩니다. 그것은 변경되지 않습니다. 왜? – zappee
구성에 정확히 무엇을 넣었습니까? 위치 지정 문은 포함 된 구성 지정 문 범위를 위치 이후의 경로로 시작하는 URL로 제한합니다. 따라서 두 번째 URL이 다른 경우에는 의미가 있습니다. 그것이 아니라면, 나는 무슨 일이 일어나고 있는지 잘 모르겠습니다. 위치 지정 문을 제거하면 문제가 해결되지만 필자가 원래의 대답에서 언급 한 성능 저하를 최소화하는 것이 좋습니다. – oneton