AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • Início
  • system&network
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • Início
  • system&network
    • Recentes
    • Highest score
    • tags
  • Ubuntu
    • Recentes
    • Highest score
    • tags
  • Unix
    • Recentes
    • tags
  • DBA
    • Recentes
    • tags
  • Computer
    • Recentes
    • tags
  • Coding
    • Recentes
    • tags
Início / server / Perguntas / 996453
Accepted
demon101
demon101
Asked: 2019-12-23 06:18:27 +0800 CST2019-12-23 06:18:27 +0800 CST 2019-12-23 06:18:27 +0800 CST

Compartilhando o cache nginx entre a configuração de dois servidores

  • 772

Estou tentando usar uma instância de cache Nginx em duas configurações de servidores. no mesmo servidor.

É seguro e suportado pelo Nginx?

A configuração está funcionando. Mas não tenho certeza sobre a consistência

Na documentação nada está escrito

proxy_cache_path /home/mycache levels=1:2 keys_zone=mycache:90m max_size=200G inactive=15d;

server {
   server_name server1;
   ...
   location / {
          proxy_temp_path /home/temp;
          proxy_cache mycache;
          proxy_cache_key $uri; # only URI
          expires 50d;
          proxy_pass        http://blabla;
   }
}

server {
   server_name server2;
   ...
   location / {
          proxy_temp_path /home/temp;
          proxy_cache mycache;
          proxy_cache_key $uri; # only URI
          expires 50d;
          proxy_pass        http://blabla;
   }
}
nginx
  • 1 1 respostas
  • 393 Views

1 respostas

  • Voted
  1. Best Answer
    little_dog
    2019-12-30T07:36:49+08:002019-12-30T07:36:49+08:00

    assumindo que ambos os endereços: server1e server2apontam para o mesmo aplicativo

    com configuração:

    proxy_cache_key $uri;

    para ambos os endereços: server1eserver2

    um arquivo cahe será criado

    na primeira entrada, independentemente do endereço, um arquivo de cache será criado, este arquivo será usado como cache para ambos os endereços

    configuração do meu laboratório:

    proxy_cache_path /tmp levels=1:2 keys_zone=my_cache:10m max_size=10g inactive=60m use_temp_path=off;
    
    server {
       listen       80;
       server_name server1.com;
       add_header X-Proxy-Cache $upstream_cache_status;
       location / {
              proxy_cache my_cache;
              proxy_cache_key $uri; # only URI
              proxy_cache_valid 200 10m;
              proxy_pass http://192.168.0.101:8080;
       }
    }
    
    server {
       listen       80;
       server_name server2.com;
       add_header X-Proxy-Cache $upstream_cache_status;
       location / {
              proxy_cache my_cache;
              proxy_cache_key $uri; # only URI
              proxy_cache_valid 200 10m;
              proxy_pass http://192.168.0.101:8080;
       }
    }
    
    

    por exemplo

    primeira solicitação para server1.com [cache vazio]

    curl -X GET -I server1.com
    HTTP/1.1 200 OK
    Server: nginx/1.17.6
    Date: Sun, 29 Dec 2019 15:32:51 GMT
    Content-Type: text/html
    Content-Length: 45
    Connection: keep-alive
    Last-Modified: Mon, 11 Jun 2007 18:53:14 GMT
    ETag: "2d-432a5e4a73a80"
    X-Proxy-Cache: MISS
    Accept-Ranges: bytes
    

    um cache vazio confirma o cabeçalhoX-Proxy-Cache: MISS

    MISS – A resposta não foi encontrada no cache e, portanto, foi buscada em um servidor de origem. A resposta pode ter sido armazenada em cache.

    cache:

    cat tmp/9/7d/6666cd76f96956469e7be39d750cc7d9
    {^▒mF#^▒▒▒yXL"2d-432a5e4a73a80"
    KEY: /
    HTTP/1.1 200 OK
    Date: Sun, 29 Dec 2019 15:32:51 GMT
    Server: Apache/2.4.41 (Unix)
    Last-Modified: Mon, 11 Jun 2007 18:53:14 GMT
    ETag: "2d-432a5e4a73a80"
    Accept-Ranges: bytes
    Content-Length: 45
    Connection: close
    Content-Type: text/html
    
    <html><body><h1>It works!</h1></body></html>
    

    segunda solicitação para server1.com

    curl -X GET -I server1.com
    HTTP/1.1 200 OK
    Server: nginx/1.17.6
    Date: Sun, 29 Dec 2019 15:32:56 GMT
    Content-Type: text/html
    Content-Length: 45
    Connection: keep-alive
    Last-Modified: Mon, 11 Jun 2007 18:53:14 GMT
    ETag: "2d-432a5e4a73a80"
    X-Proxy-Cache: HIT
    Accept-Ranges: bytes
    

    e abve é do cache nginx:X-Proxy-Cache: HIT

    HIT – A resposta contém conteúdo novo e válido direto do cache.

    agora primeiro pedido para server2.com :)

    curl -X GET -I server2.com
    HTTP/1.1 200 OK
    Server: nginx/1.17.6
    Date: Sun, 29 Dec 2019 15:33:01 GMT
    Content-Type: text/html
    Content-Length: 45
    Connection: keep-alive
    Last-Modified: Mon, 11 Jun 2007 18:53:14 GMT
    ETag: "2d-432a5e4a73a80"
    X-Proxy-Cache: HIT
    Accept-Ranges: bytes
    

    primeira solicitação para server2.com, e a resposta é do cache que foi criado ao visitar o endereço server1.com

    • 5

relate perguntas

Sidebar

Stats

  • Perguntas 205573
  • respostas 270741
  • best respostas 135370
  • utilizador 68524
  • Highest score
  • respostas
  • Marko Smith

    Você pode passar usuário/passar para autenticação básica HTTP em parâmetros de URL?

    • 5 respostas
  • Marko Smith

    Ping uma porta específica

    • 18 respostas
  • Marko Smith

    Verifique se a porta está aberta ou fechada em um servidor Linux?

    • 7 respostas
  • Marko Smith

    Como automatizar o login SSH com senha?

    • 10 respostas
  • Marko Smith

    Como posso dizer ao Git para Windows onde encontrar minha chave RSA privada?

    • 30 respostas
  • Marko Smith

    Qual é o nome de usuário/senha de superusuário padrão para postgres após uma nova instalação?

    • 5 respostas
  • Marko Smith

    Qual porta o SFTP usa?

    • 6 respostas
  • Marko Smith

    Linha de comando para listar usuários em um grupo do Windows Active Directory?

    • 9 respostas
  • Marko Smith

    O que é um arquivo Pem e como ele difere de outros formatos de arquivo de chave gerada pelo OpenSSL?

    • 3 respostas
  • Marko Smith

    Como determinar se uma variável bash está vazia?

    • 15 respostas
  • Martin Hope
    Davie Ping uma porta específica 2009-10-09 01:57:50 +0800 CST
  • Martin Hope
    kernel O scp pode copiar diretórios recursivamente? 2011-04-29 20:24:45 +0800 CST
  • Martin Hope
    Robert ssh retorna "Proprietário incorreto ou permissões em ~/.ssh/config" 2011-03-30 10:15:48 +0800 CST
  • Martin Hope
    Eonil Como automatizar o login SSH com senha? 2011-03-02 03:07:12 +0800 CST
  • Martin Hope
    gunwin Como lidar com um servidor comprometido? 2011-01-03 13:31:27 +0800 CST
  • Martin Hope
    Tom Feiner Como posso classificar a saída du -h por tamanho 2009-02-26 05:42:42 +0800 CST
  • Martin Hope
    Noah Goodrich O que é um arquivo Pem e como ele difere de outros formatos de arquivo de chave gerada pelo OpenSSL? 2009-05-19 18:24:42 +0800 CST
  • Martin Hope
    Brent Como determinar se uma variável bash está vazia? 2009-05-13 09:54:48 +0800 CST

Hot tag

linux nginx windows networking ubuntu domain-name-system amazon-web-services active-directory apache-2.4 ssh

Explore

  • Início
  • Perguntas
    • Recentes
    • Highest score
  • tag
  • help

Footer

AskOverflow.Dev

About Us

  • About Us
  • Contact Us

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve