Ada*_*tan 2 mod-rewrite mod-proxy apache-2.2
我有几个 servlet 侦听无法从外部访问的内部端口。我使用 ApacheProxyPass和ProxyPassReverse指令从端口 443 安全地为它们提供服务:
ProxyPass /media http://localhost:9002/
ProxyPassReverse /media http://localhost:9002/
Run Code Online (Sandbox Code Playgroud)
这工作正常 -https://example.com/media从http://localhost:9002/.
当 URL 具有不同部分时会出现问题。例如:
https://example.com/image/IMAGE_NAME_1应该从http://localhost:9002/image/IMAGE_NAME_1.
并且https://example.com/image/IMAGE_NAME_2应该从http://localhost:9002/image/IMAGE_NAME_1.
我尝试了一些变化,包括:
RewriteEngine on
RewriteRule ^/image/(.*)$ http://localhost:9002/image/$1 [L,PT]
ProxyPass /image/ http://localhost:9002/image
ProxyPassReverse /image/ http://localhost:9002/image
Run Code Online (Sandbox Code Playgroud)
但是这种配置会导致Bad Request浏览器和
Invalid URI in request GET /image/1 HTTP/1.1
Run Code Online (Sandbox Code Playgroud)
在日志中。
如何代理 URL 具有不同部分的内部 servlet?
daw*_*wud 14
你ProxyPassMatch改用:
ProxyPassMatch ^/media http://localhost:9002/(.*)
ProxyPassReverse ^/media http://localhost:9002/(.*)
Run Code Online (Sandbox Code Playgroud)
在Apache 在线文档中查找更多详细信息。
| 归档时间: |
|
| 查看次数: |
29237 次 |
| 最近记录: |