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-70024

Naftuli Kay's questions

Martin Hope
Naftuli Kay
Asked: 2017-09-28 12:21:20 +0800 CST

Evitar a substituição de resolvedores de DNS descobertos por DHCP?

  • 2

Estou no CentOS 7.4 tentando configurar o dnsmasq para cache DNS e servidores DNS por zona para executar o Consul. Essencialmente, a configuração do dnsmasq se resume a isso:

# filter everything with consul in the name and send to local consul resolver
server=/consul/127.0.0.1#8600

O problema que estou tendo é obter o resolvedor local /etc/resolv.confsem substituir nenhum outro resolvedor no arquivo.

Eu costumava ser capaz de fazer isso usando a dhclientconfiguração assim:

prepend domain-name-servers 127.0.0.1;

Como tudo agora é NetworkManager, descobri que a maneira de usar o dnsmasq é adicionar a seguinte linha à [main]seção de /etc/NetworkManager/NetworkManager.conf:

dns=dnsmasq

Antes de reiniciar o NetworkManager, vejo que meu /etc/resolv.confcontém o servidor DNS de rede recebido pelo DCHP:

# Generated by NetworkManager
search nowhere
nameserver 10.0.2.3
options single-request-reopen

Ao reiniciar o NetworkManager com a alteração de configuração acima, ele substitui meu servidor DNS de rede com 127.0.0.1:

# Generated by NetworkManager
search nowhere
nameserver 127.0.0.1
options single-request-reopen

Como o dnsmasq usa o /etc/resolv.confpara detectar resolvedores locais, gostaria de deixar o(s) resolvedor(es) /etc/resolv.confpara que o dnsmasq possa descobri-los.

Existe uma maneira de alcançar a funcionalidade anterior de ter o NetworkManager apenas precedendo o resolvedor local?

dhcp
  • 1 respostas
  • 963 Views
Martin Hope
Naftuli Kay
Asked: 2016-05-03 11:34:05 +0800 CST

Os clientes geralmente implementam failover/balanceamento de carga em vários registros A?

  • 7

Normalmente, balanceadores de carga como os Elastic Load Balancers da Amazon usam um conjunto de registros DNS com vários registros A para fornecer várias instâncias de balanceadores de carga que podem lidar com o tráfego para endpoints solicitantes:

$ dig +short my-fancy-elb.us-east-1.elb.amazonaws.com
10.0.1.1
10.0.1.2

Se eu tentar enrolar este URL no modo detalhado, noto que curlparece tentativas de round-robin para os dois endereços IP:

$ curl -ivs http://my-fancy-elb.us-east-1.elb.amazonaws.com | grep -i 'connected'
* Connected to my-fancy-elb.us-east-1.elb.amazonaws.com (10.0.1.1)
$ curl -ivs http://my-fancy-elb.us-east-1.elb.amazonaws.com | grep -i 'connected'
* Connected to my-fancy-elb.us-east-1.elb.amazonaws.com (10.0.1.2)

O fato de curlfazer round-robin nos registros A descritos no conjunto de registros é feito pelo curlpróprio binário ou é algo que o kernel do Linux faz por ele?

O TCP existe na camada 4 e o DNS existe na camada 7, então imagino que os binários e bibliotecas individuais teriam que implementar seu próprio balanceamento de carga e failover: buscar o conjunto de registros DNS para o nome de domínio fornecido e escolher um endereço TCP para conectar a partir desse conjunto.

Posso razoavelmente esperar que linguagens de programação, navegadores e bibliotecas como curl façam balanceamento de carga e failover em registros A para mim?

domain-name-system tcp
  • 4 respostas
  • 2155 Views
Martin Hope
Naftuli Kay
Asked: 2016-04-01 12:25:32 +0800 CST

Iniciar o serviço systemd condicionalmente?

  • 18

Na minha organização, temos várias AMIs básicas simples de usar para diferentes serviços, como ECS e Docker. Como muitos de nossos projetos envolvem o CloudFormation, estamos usando o cfn-bootstrap, que consiste em alguns scripts e um serviço executado na inicialização para instalar determinados pacotes e executar determinadas tarefas de gerenciamento de configuração para nós.

Na inicialização de um sistema, um script equivalente ao seguinte deve ser executado:

#!/bin/bash

# capture stderr only
output="$(cfn-init -s $STACK_NAME -r $RESOURCE_NAME --region $REGION >/dev/null)"

# if it failed, signal to CloudFormation that it failed and include a reason
returncode=$?
if [[ $returncode == 0]]; then
    cfn-signal -e $returncode -r "$output"
    exit $returncode
fi

# otherwise, signal success
cfn-signal -s

Eu estava pensando em executar isso como um serviço systemd oneshotque executa After=network.targete WantedBy=multi-user.target.

O único problema é que eu gostaria que minha AMI fosse flexível e só a executasse se um determinado arquivo existir. Em vez de incorporar o script acima nos dados do usuário do EC2, posso fazer com que os dados do usuário definam apenas um arquivo de ambiente que define as variáveis ​​necessárias e execute apenas meu serviço único se esse arquivo de ambiente existir:

#cloud-init
write_files:
    - path: /etc/sysconfig/cloudformation
      # ...
      content: |
          CFN_STACK_NAME="stack-name"
          CFN_RESOURCE="resource-name"
          CFN_REGION="region"

Existe uma maneira de fazer com que o systemd execute apenas um serviço se uma determinada condição for atendida?

systemd
  • 2 respostas
  • 51783 Views
Martin Hope
Naftuli Kay
Asked: 2015-08-24 21:58:39 +0800 CST

Vários diretórios de arquivos estáticos, servidor PHP FPM único

  • 2

Eu tenho dois diretórios dos quais preciso servir ativos estáticos:

  1. /srv/web: recursos estáticos que incluem imagens, JavaScript, HTML etc.
  2. /srv/php: Scripts PHP dinâmicos juntamente com alguns ativos estáticos.

Estou usando o NGINX e configurei assim:

server {
    listen 80;
    server_name _;

    # root /;
    index index.php index.html index.htm;
    try_files /srv/web/$uri /srv/php/$uri =404;

    location ~ \.php$ {
        root /srv/php;
        try_files $uri =404;
        fastcgi_pass unix:/var/run/php5-fpm.sock;
        fastcgi_index index.php;
#       fastcgi_param SCRIPT_FILENAME /srv/php$fastcgi_script_name;
        include fastcgi_params;
    }
}

Estou no Ubuntu 14.04, a versão do pacote PHP FPM é 5.5.9, a versão do pacote NGINX é 1.4.6.

O objetivo simples aqui é servir arquivos estáticos de /srv/webprimeiro, caso contrário /srv/php, retorne 404. Todos os arquivos que terminam em \.php$serão solicitados do PHP FPM pelo soquete Unix, e isso está funcionando.

O problema que estou tendo atualmente é que a indexdiretiva sobre o servernão está funcionando como planejado. Eu tenho um index.htmlarquivo em /srv/web, e quando eu faço

curl -is http://localhost/

Eu recebo um 404.

Esta é a maneira mais ideal de configurar um site NGINX com várias pastas de sistema de arquivos para servir ao lado do PHP? Alguma ideia de por que meu índice estático não está funcionando?


Atualizar

De acordo com a resposta do AD7six abaixo, atualizei minha configuração para ficar assim:

server {
    listen 80;
    server_name _; # listen at all host names

    # serve static files first from /srv/web, then from /srv/php, and any dynamic PHP files from
    # FastCGI/FPM at the Unix socket.
    location / {
        root /srv/web;
        index index.html index.htm;
        try_files $uri $uri/ @php;
    }

    location @php {
        root /srv/php;
        index index.php;
        try_files $uri $uri/ =404;
    }

    location ~ \.php$ {
        root /srv/php;
        fastcgi_pass unix:/var/run/php5-fpm.sock;
        fastcgi_index index.php;
        fastcgi_param SCRIPT_FILENAME /srv/php/$fastcgi_script_name;
        include fastcgi_params;
    }
}

Minha listagem de diretórios é assim:

/srv/
|-- php
|   |-- demo.php
|   |-- index.php
|   `-- phpstatic.txt
`-- web
    |-- static.html
    `-- subdir
        `-- index.html

3 directories, 5 files

Obter arquivos estáticos e arquivos PHP funciona conforme planejado e obter /subdir/com seu índice funciona bem, mas se eu GET /, recebo um 403 proibido e o nginx reclama da listagem de diretórios:

2015/08/24 21:50:59 [error] 9159#0: *7 directory index of "/srv/web/" is forbidden, client: 127.0.0.1, server: _, request: "GET / HTTP/1.1", host: "localhost"

Não sei por que isso está falhando, mas pelo menos cheira a progresso.

nginx
  • 1 respostas
  • 2683 Views
Martin Hope
Naftuli Kay
Asked: 2015-04-01 12:33:57 +0800 CST

Configurar um Elastic Load Balancer transparente

  • 0

Quero criar um Elastic Load Balancer na frente do meu site SSL que simplesmente passe pelas portas 80 e 443. Não quero que meu Elastic Load Balancer tenha um certificado SSL próprio, só quero que ele passe o tráfego para o meu único servidor.

Existe uma maneira de fazer isso de forma transparente? Agora ele está me pedindo para importar um certificado enquanto estou criando o Elastic Load Balancer.

amazon-ec2
  • 1 respostas
  • 237 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