Configurando o cabeçalho do Apache com condições de exclusão de caminhos/diretórios/ips do servidor

Configurando o cabeçalho do Apache com condições de exclusão de caminhos/diretórios/ips do servidor

Eu uso um plugin WordPress chamado Duplicator Pro e a melhor maneira de instalar com seus instaladores é usar o IP do servidor em vez do domínio, porque dessa forma ele preenche automaticamente e se conecta ao servidor com mais facilidade, além de não acionar várias regras do ModSecurity.

O melhor URL de instalação é:

http://111.222.333.444/~customcpanelaccount/customfolder/installer.php

Em vez de:

https://website.com/customfolder/installer.php

Se você carregar qualquer um desses arquivos, ele o redirecionará automaticamente para:

/customfolder/dup-installer/main.installer.php

No entanto, como o servidor tem a seguinte regra Apache/LiteSpeed, ele redireciona automaticamente http:// para https://, o que faz com que ele exiba a seguinte mensagem:

Conectar-se à rede

<IfModule mod_headers.c>
    Header always set Content-Security-Policy "upgrade-insecure-requests;"
</IfModule>

Estou tentando descobrir uma maneira de fazer com que a regra Apache/LiteSpeed ​​acima se aplique apenas a domínios, não a IPs diretos OU para que não seja acionada ao usar o arquivo de installer.phpe main.installer.phpo diretório de/dup-installer/

É uma pena que não haja instruções if do tipo FilesNotMatch / DirectoryNotMatch / LocationNotMatch.

Alguém tem alguma idéia, eu agradeceria muito a ajuda/conselho!

Responder1

Você pode definir uma variável de ambiente (por exemplo, DOMAIN_REQUESTED) se um domínio for solicitado (em oposição ao endereço IP) e definir Headercondicionalmente com base em se esta variável de ambiente está definida usando o env=argumento.

Por exemplo:

SetEnvIf Host "[a-z]" DOMAIN_REQUESTED
Header always set Content-Security-Policy "upgrade-insecure-requests;" env=DOMAIN_REQUESTED

Se o Hostcabeçalho contiver um caractere az, você deverá solicitar um nome de domínio, não o endereço IP. Nesse caso, o DOMAIN_REQUESTEDenv var é definido como 1.

No entanto...

  • Parece estranho que seja preferível instalar isso em vez de HTTP inseguro usando o endereço IP do servidor e um diretório web por usuário?! Diretórios da web por usuário (mod_userdir) geralmente são melhor evitados, pois realmente atrapalham os caminhos de URL relativos à raiz.

  • Se isso for apenas para o processo de instalação, você não pode simplesmente comentar essa Headerdiretiva temporariamente?

É uma pena que não haja instruções if do tipo FilesNotMatch / DirectoryNotMatch / LocationNotMatch.

Bem, existe, como você pode usar umantecipação negativa(ouolhar para trás) no regex para determinar quando uma correspondência ocorrenãoocorrer.

...OU para fazer com que não seja acionado ao usar o arquivo de installer.phpe main.installer.phpo diretório de/dup-installer/

O Content-Security-Policy: upgrade-insecure-requests;cabeçalho de resposta HTTP afeta apenas os ativos vinculados, não a navegação de nível superior. Portanto, isso não se aplica a installer.phpe main.installer.phpde qualquer maneira. Se essas solicitações estiverem sendoatualizado(ou, mais provavelmente, "redirecionado"), então alguma outra coisa está fazendo isso.

informação relacionada