Proxy Apache Server Forward: Como redirecionar para uma página personalizada?

Proxy Apache Server Forward: Como redirecionar para uma página personalizada?

No servidor Apache (Xampp), criei um proxy de encaminhamento para filtragem de firewall que funciona bem, mas não entendo como usar o RewriteRule para redirecionar um URL proibido para uma página de erro personalizada.

Desejo redirecionar a solicitação para um arquivo html de erro local presente em meu servidor para informar ao cliente se o URL solicitado ao meu proxy não está autorizado.

No exemplo abaixo coloquei apenas a parte que não funciona (tenho outros RewriteRule para urls permitidas):

  Listen 192.168.0.100:3128
<VirtualHost 192.168.0.100:3128>
  
  ServerName 192.168.0.100:3128  
  ProxyRequests On  
  ProxyVia On
  
  <Proxy *>
     
     # 1) If url is allowed (this part works well):
       ... some RewriteCond & RewriteRule ...
     
     # 2) If url is not allowed by some RewriteCond:
       RewriteRule ^ https://192.168.0.100/firewall/firewall_deny.html [R=302,L]
     OR
       RewriteRule ^ https://192.168.0.100/firewall/firewall_deny.html [P,L]
  
  </Proxy>
   
</VirtualHost>

Quando a url é permitida (caso 1), o proxy funciona bem e o Chrome recebe a página do site solicitado. Mas no caso de uma url que eu bani (caso 2), não há resposta do proxy.

Eu tentei várias sintaxes diferentes que encontrei, mas o navegador Chrome nunca recebe nenhuma resposta do meu servidor e apenas mostra sua página de erro: "Este site não está disponível" com o erro "ERR_TUNNEL_CONNECTION_FAILED".

Somente no caso de um Forward Proxy (não estou fazendo proxy reverso), é possível enviar de volta ao cliente um arquivo html customizado (ou sua url)?

Obrigado por qualquer ajuda

Editar em 23/10:

Esse pequeno proxy funciona bem, mas a única coisa que não sei fazer é enviar de volta uma página de erro ao cliente quando a URL for proibida.

Por isso perguntei se o RewriteRule usado em <Proxy *> para autorizar ou não a conexão, também pode ser usado para redirecionar para uma página de erro, como podemos fazer na configuração normal (não proxy). Algo como :

RewriteRule ^ https://192.168.0.100/path/to/firewall/firewall_deny.html [R=302,L]

Aparentemente o redirecionamento foi feito porque no Fiddler posso ver a página de redirecionamento 302 com o novo URL, mas o Chrome parece não recebê-lo.

Eu também tentei coisas como:

Redirect permanent path/to/firewall/

Mas também não parece funcionar nesta configuração de proxy de encaminhamento. Talvez você tenha que reescrever de alguma forma o cabeçalho ou outra coisa, para enviar de volta ao chrome a url da página de erro, pois ela passa por um túnel proxy.

Atualmente estou tentando usar outras soluções encontradas no ServerDefault, como ExtFilterDefine (mod_ext_filter.so) ou Substitute (mod_substitute.so) sem sucesso até agora.

informação relacionada