Adicionar machineKey para web.configuração no farm de servidores web sites
-
27-09-2019 - |
Pergunta
Nós (nosso parceiro realmente) recentemente mudou algumas de DNS para um web viveiro site, temos, então, que as duas servidor de produção têm round-robin de DNS alternar entre elas.Antes de isso mudar, nós realmente não tenho problemas com WebResource.axd
ficheiros.Desde a mudança, quando nós tocamos ao vivo URL pública, recebemos um erro:
CryptographicException
Preenchimento é inválido e não pode ser removido.
Quando batemos a servidores específicos, eles carga de multa.Eu pesquisei o problema e parece, pois eles são a partilha de bens entre dois servidores, precisamos ter uma consistente machineKey
no web.config
para cada servidor para criptografar e descriptografar de forma consistente entre os dois.Minhas perguntas são:
- Posso gerar um
machineKey
através de uma ferramenta no servidor, ou que eu preciso para escrever o código para fazer isso? - Eu só precisa adicionar o
machineKey
para oweb.config
em cada servidor ou você acha que eu vou precisar fazer mais nada para fazer a dois servidores trabalham juntos?(Tantoweb.config
's não têm umamachineKey
)
Solução
Isto deve responder:
Como:Configurar MachineKey em ASP.NET 2.0 - Implantação de Farm da Web Considerações
Implantação De Farm Da Web Considerações
Se você implantar o aplicativo em um Web farm, você deve garantir que o arquivos de configuração em cada servidor de compartilhar o mesmo valor para validationKey e decryptionKey, que são utilizados para a criação de algoritmos hash e decodificação, respectivamente.Isso é necessário porque você não pode garantir o servidor que irá lidar com pedidos sucessivos.
Com gerado manualmente os valores de chave, as definições devem ser semelhante ao exemplo a seguir.
<machineKey validationKey="21F090935F6E49C2C797F69BBAAD8402ABD2EE0B667A8B44EA7DD4374267A75D7 AD972A119482D15A4127461DB1DC347C1A63AE5F1CCFAACFF1B72A7F0A281B" decryptionKey="ABAA84D7EC4BB56D75D217CECFFB9628809BDB8BF91CFCD64568A145BE59719F" validation="SHA1" decryption="AES" />
Se você quiser isolar o aplicativo a partir de outros aplicativos no mesmo server, coloque-o na Web.arquivo de configuração para cada aplicação em cada servidor no farm.Certifique-se de que você usar separado valores-chave para cada aplicação, mas duplicados de cada aplicação chaves em todos os servidores no farm.
Em suma, para definir a chave de máquina, consulte o seguinte link:A configuração de uma Chave de Máquina - Pomar Documentação.
A configuração da Chave da Máquina Usando o Gerenciador do IIS
Se você tem acesso ao console de gerenciamento do IIS para o servidor onde Pomar é instalado, ele é a maneira mais fácil de set-up de uma máquina de chave.
Iniciar o console de gerenciamento e, em seguida, seleccione o web site.Abra o máquina de chave de configuração:
A chave da máquina painel de controlo tem as seguintes configurações:
Desmarque a opção "gerar Automaticamente em tempo de execução" para a validação chave e a chave de descriptografia.
Clique em "Gerar Chaves" na coluna "Ações" no lado direito do painel.
Clique Em "Aplicar".
e adicione a seguinte linha para o web.config
arquivo em todos os webservers
sob system.web
tag se ele não existir.
<machineKey
validationKey="21F0SAMPLEKEY9C2C797F69BBAAD8402ABD2EE0B667A8B44EA7DD4374267A75D7
AD972A119482D15A4127461DB1DC347C1A63AE5F1CCFAACFF1B72A7F0A281B"
decryptionKey="ABAASAMPLEKEY56D75D217CECFFB9628809BDB8BF91CFCD64568A145BE59719F"
validation="SHA1"
decryption="AES"
/>
Por favor, certifique-se de que você tem um backup permanente de máquina e chaves web.config
arquivo
Outras dicas
Se você estiver usando o IIS 7.5 ou posterior, poderá gerar a chave da máquina do IIS e salvá -la diretamente no seu web.config, dentro do fazendas da web, basta copiar o novo web.config para cada servidor.
- Open IIS Gerente.
- Se você precisar gerar e salvar o MachineKey para todos os seus aplicativos, selecione o nome do servidor no painel esquerdo, nesse caso, você estará modificando o arquivo root web.config (que é colocado na pasta .NET Framework). Se sua intenção é criar o MachineKey para um site / aplicativo específico, selecione o site / aplicativo no painel esquerdo. Nesse caso, você estará modificando o
web.config
arquivo do seu aplicativo. - Clique duas vezes no ícone da chave da máquina nas configurações do ASP.NET no painel do meio:
- A seção MachineKey será lida no seu arquivo de configuração e será mostrada na interface do usuário. Se você não configurou uma chave de máquina específica e é gerada automaticamente, verá as seguintes opções:
- Agora você pode clicar em gerar teclas no painel direito para gerar trapaceiros aleatórios. Quando você clica em aplicar, todas as configurações serão salvas no
web.config
Arquivo.
Detalhes completos podem ser vistos @ Maneira mais fácil de gerar Machinekey - Dicas e truques: ASP.NET, IIS e .NET Development…
Certifique -se de aprender com o preenchimento de vulnerabilidade Oracle Asp.net Isso acabou de acontecer (você aplicou o patch, certo? ...) e use seções protegidas para criptografar a chave da máquina e qualquer outra configuração sensível.
Uma opção alternativa é defini -lo no nível da máquina Web.config, portanto, nem está na pasta do site.
Para gerar, faça -o exatamente como o artigo vinculado na resposta de David.