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 / user-179901

Garreth McDaid's questions

Martin Hope
Garreth McDaid
Asked: 2019-11-13 06:29:56 +0800 CST

Acesso Nginx 403 proibido ao usar X-Accel-Redirect

  • 0

Eu tenho um problema no Nginx com segurança e X-Accel-Redirect.

Servidor Nginx 777

location /api {
   allow 100.100.100.1;
   deny all;
   proxy_pass http://api-server;
}

#The api-sever will respond with an `X-Accel-Redirect` header to the following location `@server888`

location @server888 {
   internal;
   proxy_pass http://server888$request_uri;
}

Nginx Server 888 tem configuração idêntica para/api

location /api {
   allow 100.100.100.1;
   deny all;
   proxy_pass http://api-server;
}

No entanto, todas as solicitações do ip de origem 100.100.100.1para o servidor 777 estão obtendo uma resposta 403 do servidor 777 , com o erro:

access forbidden by rule while reading response header from upstream

Pelo que vejo, o @server888local está bloqueando a solicitação, mas meu entendimento é que a internaldiretiva deve permitir solicitações originadas de X-Accel-Redirect, sem precisar fornecer uma allowdiretiva explícita para 100.100.100.1.

Isso está correto? Ou preciso conceder permissões mais extensas no @server888local para que isso funcione?

nginx
  • 1 respostas
  • 580 Views
Martin Hope
Garreth McDaid
Asked: 2017-12-24 10:40:33 +0800 CST

Problema com a criação de uma réplica do PostgreSQL 9.5

  • 0

Estou tentando criar uma réplica hot-standby para um mestre do PostgreSQL 9.5.

O processo básico que usei é iniciar um backup no mestre:

SELECT pg_start_backup('label', true)

No escravo, eu executo, pg_basebackup:

pg_basebackup -h <master ip> -D /data/pgsql/9.5/data -U replicator -v -P  --xlog-method=stream

Depois que isso for concluído, executo o comando para interromper o backup no mestre:

SELECT pg_stop_backup()

Neste ponto, obtive o seguinte no STDOUT:

NOTICE:  pg_stop_backup cleanup done, waiting for required WAL segments to be archived
WARNING:  pg_stop_backup still waiting for all required WAL segments to be archived (60 seconds elapsed)
HINT:  Check that your archive_command is executing properly.  pg_stop_backup can be canceled safely, but the database backup will not be usable without all the WAL segments.

Isso continua e não sai.

O comando archive no mestre é definido como:

rsync -a %p <replica ip>:/data/wal-archive/%f

Inicialmente, isso não estava funcionando, pois a chave do servidor precisava ser aceita. Depois de fazer isso manualmente, o rsync foi iniciado e posso ver um grande acúmulo de arquivos (~ 15 GB até agora) em /data/wal-archive.

Este é um banco de dados de 20 TB, então eu realmente não quero ter que iniciar esse processo novamente estragando algo.

É seguro sair do terminal emitindo os AVISOS? Eu li em outros posts que o archive_mode só precisa estar ativado durante o processo de streaming dos DBs para a réplica para fins de configuração da réplica e, além disso, não é necessário.

Nesse caso, posso apenas fazer um CTRL-C no terminal e prosseguir com a configuração da réplica?

Posso então desligar o archive_mode no master?

postgresql
  • 1 respostas
  • 317 Views
Martin Hope
Garreth McDaid
Asked: 2017-03-22 06:44:31 +0800 CST

Como encaminhar logs de aplicativos de contêineres do Docker para ELK

  • 5

Estou tentando centralizar o log em um ambiente que usa várias tecnologias de aplicativos (Java, Rails e vários bancos de dados).

Queremos que os desenvolvedores criem pilhas com o Docker Compose, mas queremos que eles se refiram a uma fonte de log central (ELK) para depurar problemas, em vez de tentar abrir shells em contêineres do Docker em execução.

Todos os aplicativos gravam no sistema de arquivos em vez de STDOUT/STDERR, o que remove todas as opções associadas ao driver de registro do Docker e logspout também.

O que fizemos foi configurar os contêineres para que o rsyslog inclua os arquivos de log do aplicativo e os encaminhe para logstash, que possui uma entrada syslog. Isso funciona em termos de mover os logs de A para B, mas gerenciar logs de multitecnologia em ELK com base na entrada do syslog é horrível (por exemplo, tentar capturar vários rastreamentos de pilha Java ou consultas lentas do MySQL).

Existe uma maneira melhor de fazer isso? Devo executar o logstash em cada contêiner, para poder aplicar filtros e codecs diretamente aos arquivos de log, para não precisar depender da entrada do syslog?

Existe alguma maneira de usar o driver de log do Docker com arquivos de log do aplicativo que são gravados no sistema de arquivos?

docker
  • 2 respostas
  • 3817 Views
Martin Hope
Garreth McDaid
Asked: 2017-03-17 04:30:18 +0800 CST

Codec multilinha Logstash para stacktraces Java

  • 1

A documentação do logstash indica que você pode recolher as várias linhas recuadas em uma entrada de log de rastreamento de pilha Java em um único evento usando o codec multilinha:

https://www.elastic.co/guide/en/logstash/current/plugins-codecs-multiline.html

input {
   syslog {
       type => syslog
       port => 8514
       codec => multiline {
            pattern => "^\s"
            what => "previous"
       }
  }
}

Isso se baseia em logstash encontrar um recuo no início da linha e combiná-lo com a linha anterior.

No entanto, a documentação do logstash é o único lugar onde posso encontrar uma referência a isso. A comunidade geral de usuários parece estar usando elaborados filtros grok para obter o mesmo efeito.

Eu tentei o padrão de indentação básico fornecido pelo logstash, mas não funcionou. Alguém mais conseguiu fazer isso funcionar combinando o padrão de indentação?

java logstash grok
  • 1 respostas
  • 1932 Views
Martin Hope
Garreth McDaid
Asked: 2015-09-18 07:37:27 +0800 CST

Use o boto para atualizar as opções do ambiente ElasticBeanstalk

  • 0

O Boto tem uma função, update_environment, que permite ao usuário atualizar opções em um ambiente AWS ElasticBeanstalk.

Usando a AWS CLI, isso normalmente seria acionado da seguinte forma:

aws elasticbeanstalk update-environment --environment-name my-env --option-settings Namespace=aws:autoscaling:asg,OptionName=MinSize,Value=1

No Boto, update_environment usa um parâmetro List para option_settings, conforme descrito aqui:

http://boto.readthedocs.org/en/latest/ref/beanstalk.html

update_environment(environment_id=None, environment_name=None, version_label=None, template_name=None, description=None, option_settings=None, options_to_remove=None, tier_name=None, tier_type=None, tier_version='1.0')

Eu tentei vários métodos de passar a string

Namespace=aws:autoscaling:asg,OptionName=MinSize,Value=1

como uma lista, mas nenhum parece funcionar. A API continua me dizendo:

Invalid option specification 

Alguém sabe qual é o formato correto para a lista?

amazon-web-services
  • 2 respostas
  • 966 Views
Martin Hope
Garreth McDaid
Asked: 2015-09-08 07:02:16 +0800 CST

Existe alguma maneira de informar o TTL nos registros DNS do servidor de nomes raiz?

  • 7

No momento, estou migrando uma zona DNS de um provedor de servidor DNS para outro. Estou tentando estimar quanto tempo levará para a alteração se propagar e entender qual pode ser o atraso se eu optar por reverter no meio do fluxo.

Anteriormente, pensei que poderia fazer:

dig example.com ns

Para ver qual era o TTL restante no registro NS, mas agora entendo que esse registro NS é o registro NS para subdomínios na zona, e não o registro NS que emana dos servidores raiz, que é o que determina em última instância qual servidor de nomes a consulta será enviada.

Eu testei isso configurando um registro de teste na zona em cada um dos provedores:

Provider1 test.example.com 10.0.0.1
Provider2 test.example.com 192.168.0.1

Para ambos os provedores, o TTL nos registros NS em 0, enquanto os registros NS no nível TLD Registrar apontam para os servidores de nomes do Provider1.

Quando altero os registros NS na zona em Provider1, posso ver isso refletido nas consultas NS quase imediatamente (usando 'dig example.com ns').

No entanto, quando envio uma consulta para um registro A, ou seja,

test.example.com

sempre volta

10.0.0.1

independentemente de como os registros NS na zona do Provedor 1 estão configurados.

Com base nisso, concluí que os registros NS dentro do arquivo de zona são irrelevantes para a migração e que apenas os registros dos servidores de nomes no nível TLD são importantes.

No entanto, não consigo ler quanto tempo é provável que uma alteração ali se propague, seja para frente ou para trás.

É possível consultar com que TTL estou trabalhando para registros provenientes dos servidores raiz do TLD?

domain-name-system
  • 3 respostas
  • 6239 Views
Martin Hope
Garreth McDaid
Asked: 2015-06-09 04:32:04 +0800 CST

OpenSwan Dead Peer Detection para clientes Mac WIFI

  • 0

Estou executando um servidor OpenSwan para facilitar as conexões cliente-servidor em um centro de dados seguro.

Tenho um problema com o cliente padrão L2TP sobre IPSEC no MacOS, especificamente ao usar WIFI.

Quando eu conecto pela primeira vez, funciona bem. Quando desligo e tento conectar novamente, falha na etapa de autenticação (segredo compartilhado).

Pelo que posso ver, quando o MAC está usando WIFI, não há tempo para enviar um sinal DELETE para o OpenSwan, portanto, no que diz respeito ao OpenSwan, o par ainda existe. Eu posso ver isso nos logs do OpenSwan:

Jun  8 12:23:43 vpn1 pluto[20030]: ERROR: asynchronous network error report on eth0 (sport=500) for message to 213.242.106.82 port 500, complainant 213.242.106.82: Connection refused [errno 111, origin ICMP type 3 code 3 (not authenticated)]

Esta mensagem continua aparecendo nos logs do OpenSwan muito depois de eu ter desconectado o cliente Mac. Quando reinicio o serviço ipsec no servidor, a entrada de log desaparece e posso me conectar novamente.

Incluí detecção de ponto morto em minha configuração do OpenSwan:

 dpddelay=30
 dpdtimeout=120
 dpdaction=clear

Eu posso ver que Dead Peer Detection está habilitado quando eu inicio a conexão:

Jun  8 12:45:34 vpn1 pluto[11064]: "vpnpsk"[14] 213.242.106.82 #14: STATE_QUICK_R2: IPsec SA established transport mode {ESP/NAT=>0x0188ccda <0x7fe9af15 xfrm=AES_256-HMAC_SHA1 NATOA=none NATD=213.242.106.82:4500 DPD=enabled}

No entanto, quando fecho a conexão no MAC, o DPD não parece entrar em ação. O OpenSwan apenas registra erros sobre a conexão.

Apenas procurando sugestões re. um conserto.

ipsec
  • 1 respostas
  • 699 Views
Martin Hope
Garreth McDaid
Asked: 2015-05-15 07:05:02 +0800 CST

Configuração automática RabbitMQ de cluster

  • 3

O documento de agrupamento do RabbitMQ

https://www.rabbitmq.com/clustering.html

descreve um processo pelo qual você pode implantar um arquivo de configuração para clustering para que um cluster seja criado automaticamente quando seus nós rabbitmq inicializarem.

[{rabbit,
  [{cluster_nodes, {['rabbit@rabbit1', 'rabbit@rabbit2', 'rabbit@rabbit3'], ram}}]}].

Você aplica esse arquivo em cada um dos 3 nós em /etc/rabbitmq/rabbitmq.config e, em seguida, inicia o rabbitmq em cada um e um cluster aparentemente se formará.

Isso não parece funcionar muito bem, por exemplo

Se você iniciar o rabbit2 e o rabbit3 ainda não tiver surgido, o serviço não será iniciado no rabbit2, pois está tentando criar um cluster com o rabbit3.

Da mesma forma, se você aplicar a configuração apenas no rabbit1 e pré-iniciar o rabbit2 e o rabbit3, o rabbit1 formará um cluster apenas com o rabbit2, pois, de acordo com a documentação (não entendo o porquê):

RabbitMQ will try to cluster to each node provided, and stop after it can cluster with one of them.

A única maneira de isso funcionar é se você aplicar o arquivo de configuração em todos os 3 nós e iniciá-los exatamente ao mesmo tempo. Estou tentando implantar isso com o Ansible, que cria os nós sequencialmente, para que não funcione.

O que estou perdendo aqui?

ansible
  • 2 respostas
  • 6758 Views
Martin Hope
Garreth McDaid
Asked: 2015-02-19 10:12:07 +0800 CST

Problemas de roteamento de instância Amazon VPC NAT

  • 0

Estou com um problema de roteamento.

Eu tenho 2 sub-redes públicas: 172.31.1.0/24 e 172.31.100.0/24

Em cada um deles, tenho uma instância NAT. Cada instância NAT é um peer OpenSwan VPN para um local remoto. Isso permite a seguinte conectividade VPN:

172.31.1.0/24 -> 192.168.1.0/24
172.31.100.0/24 -> 192.168.100.0/24

Eu configurei uma única tabela de rotas associada a ambas as minhas sub-redes públicas. isso inclui entradas de rota como segue:

192.168.1.0/24 Target = NAT instance 1
192.168.100.0/24 Target = NAT instance 2

Tudo funciona bem para o primeiro, mas não importa o que eu faça, a entrada da tabela de rotas para o último não funciona.

Nenhuma rota que configurei para NAT Instance 2 funciona. Quando eu traceroute para qualquer endereço em 192.168.100.0/24, os pacotes são enviados diretamente para 192.168.100.0/24 (e, portanto, falham) em vez de rotear via NAT Instance 2.

Eu pensei que talvez houvesse um limite para o número de instâncias NAT simultâneas em uma Tabela de Rotas, mas mesmo quando eu excluo a rota para 192.168.1.0, de modo que a única rota que existe é a rota via instância NAT 2, ainda não t trabalho.

Eu verifiquei todas as coisas usuais (verificação Src/Dst, etc.), mas nada parece estar fora do lugar. Tudo isso foi criado com o CloudFormation, portanto, não é provável que ocorra um erro manual.

amazon-web-services
  • 1 respostas
  • 1069 Views
Martin Hope
Garreth McDaid
Asked: 2015-01-15 08:36:49 +0800 CST

Visualizando entradas antigas para lastb no linux

  • 0

Eu tenho um servidor (Amazon Linux) que está ativo há 261 dias:

[server]$ uptime
 16:29:46 up 261 days,  4:47,  1 user,  load average: 0.05, 0.16, 0.18

Estou tentando descobrir se houve alguma tentativa de login malsucedida nos últimos meses:

[server]$ lastb

btmp begins Thu Jan  1 04:16:08 2015

Não há nada lá, e o servidor está me dizendo que o arquivo /var/log/btmp começou há 14 dias.

Há um outro arquivo de log btmp arquivado em /var/log/

-rw------- 1 root utmp 75 Jan  1 04:16 /var/log/btmp-20150101.gz

Quando eu descompacto isso e leio com lastb, recebo isto:

[server]$ lastb -f btmp-20150101 

btmp-20150101 begins Wed Jan 14 16:21:06 2015

Alguém pode me dizer o que está acontecendo aqui? Meu objetivo é provar que não houve tentativas de login inválidas nos 261 dias em que o servidor esteve ativo, mas o lastb não parece ser capaz de confirmar isso.

linux
  • 1 respostas
  • 357 Views

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