Pare de compartilhar o localStorage entre os servidores atrás de um proxy reverso (a mesma origem passa para todos)

0

Considere dois servidores de back-end:

https://server1.example.com
https://server2.example.com

Ao acessar esses servidores diretamente, eles naturalmente têm objetos localStorage independentes, já que suas origens são diferentes; neste caso, os nomes de host diferem.

Quando coloco esses servidores atrás de um proxy reverso, eles são acessados da seguinte forma:

https://proxy.example.com/server1
https://proxy.example.com/server2

To slightly complicate the picture, I have a front-end page on the proxy:

https://proxy.example.com

This front-end page lists the servers as hotlinks using HTML similar to:

<a href="https://proxy.example.com/server1/" target="_blank">Server1</a>
<a href="https://proxy.example.com/server2/" target="_blank">Server2</a>

Agora, cada um dos servidores proxy , server1 e server2 todos passam o teste same-origin , pois cada um tem origin=https://proxy.example.com:443 . Conseqüentemente, o objeto localStorage é compartilhado entre eles e esse compartilhamento está confundindo os aplicativos em server1 e server2 .

Existe uma maneira de desativar o compartilhamento de localStorage entre proxy , server1 e server2 nessa configuração?

Se não, existem métodos em JavaScript que desabilitarão o compartilhamento entre essas entidades?

    
por Matt Muggeridge 03.10.2018 / 02:43

1 resposta

0

Não há como, até onde eu sei, ter o segmento do navegador localStorage baseado em outra coisa que não a origem, e não há como alterar a origem além de alterar o URL.

Se seu objetivo é segmentar seus dados armazenados por site para evitar conflitos, você terá que fazer isso manualmente, atribuindo a cada site uma chave única sob a qual ele pode armazenar seus dados.

Se o seu objetivo é impedir que o servidor1 leia / grave no armazenamento do servidor2, isso não será possível sem alterar as origens do servidor.

    
por 03.10.2018 / 06:27