AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / user-70024

Naftuli Kay's questions

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

避免替换 DHCP 发现的 DNS 解析器?

  • 2

我在 CentOS 7.4 上尝试为 DNS 缓存配置 dnsmasq 和为运行 Consul 配置每个区域的 DNS 服务器。本质上,dnsmasq 配置归结为:

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

我遇到的问题是在/etc/resolv.conf不替换文件中的任何其他解析器的情况下进入本地解析器。

我曾经能够使用这样的dhclient配置来做到这一点:

prepend domain-name-servers 127.0.0.1;

由于现在一切都是 NetworkManager,我发现使用 dnsmasq 的方法是将以下行添加到[main]部分/etc/NetworkManager/NetworkManager.conf:

dns=dnsmasq

在重新启动 NetworkManager 之前,我看到我的/etc/resolv.conf包含 DCHP 接收到的网络 DNS 服务器:

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

使用上述配置更改重新启动 NetworkManager 后,它会用 127.0.0.1 取代我的网络 DNS 服务器:

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

由于 dnsmasq 使用/etc/resolv.conf来检测本地解析器,我想保留解析器,/etc/resolv.conf以便 dnsmasq 可以发现它们。

有没有办法实现让 NetworkManager 只是预先添加本地解析器的先前功能?

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

客户端通常会在多个 A 记录上实现故障转移/负载平衡吗?

  • 7

通常,像 Amazon 的弹性负载均衡器这样的负载均衡器使用具有多个 A 记录的 DNS 记录集来提供多个负载均衡器实例,这些实例可以处理到请求端点的流量:

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

如果我尝试以详细模式卷曲此 URL,我注意到这curl似乎是对两个 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)

curl对记录集中描述的 A 记录进行循环处理的事实是由curl二进制文件本身完成的,还是 Linux 内核为它做的事情?

TCP 存在于第 4 层,DNS 存在于第 7 层,所以我想各个二进制文件和库必须实现自己的负载平衡和故障转移:获取给定域名的 DNS 记录集并选择一个 TCP 地址从该集合连接到。

我可以合理地期望像 curl 这样的编程语言、浏览器和库会为我在 A 记录上进行负载平衡和故障转移吗?

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

有条件地启动systemd服务?

  • 18

在我的组织中,我们有许多用于不同服务(例如 ECS 和 Docker)的简单易用的基础 AMI。由于我们的许多项目都涉及 CloudFormation,因此我们正在使用cfn-bootstrap,它由几个脚本和一个在启动时运行的服务组成,用于安装某些包并为我们执行某些配置管理任务。

在系统启动时,必须执行以下脚本的等效项:

#!/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

我正在考虑将其作为运行和运行的 systemdoneshot服务运行。After=network.targetWantedBy=multi-user.target

唯一的问题是我希望我的 AMI 灵活,并且仅在存在某个文件时才执行此操作。除了将上述脚本嵌入到 EC2 用户数据中,我还可以让用户数据只定义一个环境文件,该文件定义了我需要的变量,并且仅在该环境文件存在时才运行我的一次性服务:

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

有没有办法让 systemd 仅在满足给定条件时才运行服务?

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

多个静态文件目录,单个 PHP FPM 服务器

  • 2

我有两个目录需要提供静态资产:

  1. /srv/web: 静态资源,包括图片、JavaScript、HTML 等。
  2. /srv/php:动态 PHP 脚本以及一些静态资产。

我正在使用 NGINX 并像这样配置它:

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;
    }
}

我在 Ubuntu 14.04,PHP FPM 包版本是 5.5.9,NGINX 包版本是 1.4.6。

这里的简单目标是首先提供静态文件/srv/web,失败/srv/php,失败,返回 404。所有以 结尾的文件\.php$都将通过 Unix 套接字从 PHP FPM 请求,这是有效的。

我目前遇到的问题是关于 的index指令server没有按计划工作。我有一个index.html文件/srv/web,当我这样做时

curl -is http://localhost/

我得到一个404。

这是设置具有多个文件系统文件夹以与 PHP 一起提供服务的 NGINX 站点的最理想方式吗?关于为什么我的静态索引不起作用的任何想法?


更新

根据下面 AD7six 的回答,我已将配置更新为如下所示:

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;
    }
}

我的目录列表如下所示:

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

3 directories, 5 files

获取静态文件和 PHP 文件按计划工作,获取/subdir/其索引工作正常,但如果我 GET /,我得到一个 403 禁止,并且 nginx 抱怨目录列表:

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"

不知道为什么会失败,但至少闻起来像是进步。

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

配置透明的弹性负载均衡器

  • 0

我想在我的 SSL 站点前创建一个 Elastic Load Balancer,它只通过端口 80 和 443。我不希望我的 Elastic Load Balancer 拥有自己的 SSL 证书,我只是希望它将流量转发到我的单服务器。

有没有办法透明地做到这一点?它现在要求我在创建 Elastic Load Balancer 时导入证书。

amazon-ec2
  • 1 个回答
  • 237 Views
Martin Hope
Naftuli Kay
Asked: 2013-12-05 13:24:47 +0800 CST

www-data 用户是否需要真正的外壳?

  • 7

有趣的是,在我安装了 nginx 的 Ubuntu 衍生产品上apt,www-data用户有一个 shell:

$ cat /etc/passwd
www-data:x:33:33:www-data:/var/www:/bin/sh

这不应该设置为类似的东西/bin/false吗?就算用户不能登录,像这样默认给系统用户提供shell不是很危险吗?

security
  • 1 个回答
  • 7852 Views
Martin Hope
Naftuli Kay
Asked: 2013-12-04 15:20:57 +0800 CST

CNAME 可以指向 NS 记录吗?

  • 3

我有一个子域 NS 记录,如下所示:

NS home ns1.nameserver.com
NS home ns2.nameserver.com

我希望另一个子域super指向这个 NS 名称的结果,但是当我这样做时:

CNAME super home

名称无法解析。

这是一台配置了动态 DNS 的机器,因此home指向第 3 方动态 DNS 提供商。为了省去更新多个动态 DNS 名称的麻烦,我想简单地super解析到与home.

有没有办法做到这一点,或者我是否还必须配置一个super单独更新的动态 DNS NS 名称?

domain-name-system
  • 1 个回答
  • 1521 Views
Martin Hope
Naftuli Kay
Asked: 2013-07-16 13:54:39 +0800 CST

需要来自所有远程(非本地)客户端的 SSL 客户端证书?

  • 2

我有一个 nginx 服务器,我想向它添加客户端 SSL 证书身份验证。我使用一个系统(GitLab),它需要在内部调用自己的提交钩子等。有没有办法为所有远程(非本地)客户端使用客户端 SSL 设置 SSL?

我想让 GitLab 可以在没有客户端证书的情况下调用自己,但所有远程客户端都必须使用客户端 SSL 证书进行身份验证。

nginx
  • 1 个回答
  • 2002 Views
Martin Hope
Naftuli Kay
Asked: 2013-04-11 16:19:16 +0800 CST

AWS 上的 NFS 网络设置

  • 0

我有许多服务器都需要外部 IP 地址,因为它们提供不同的服务并且需要单独访问:

server1.mydomain.com > 1.2.3.4
server2.mydomain.com > 2.3.4.5
server3.mydomain.com > 3.4.5.6
...
serverN.mydomain.com > n.n.n.n

在这些服务器之间共享的是名为 的服务器上的 NFS 共享files.mydomain。

基本上,我想让我的公共服务器能够files.mydomain通过内部网(安全)而不是通过互联网(完全不安全)进行私密访问。我怎样才能做到这一点?所有服务器都需要可以通过 SSH 和其他服务公开访问,但 NFS 特别需要通过 Amazon 云中的本地网络私下完成。我正在考虑使用 VPC,但我不确定如何做到这一点以保持服务器可从外部访问,同时仍保持它们之间的内部网络可用。

security
  • 1 个回答
  • 752 Views

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    新安装后 postgres 的默认超级用户用户名/密码是什么?

    • 5 个回答
  • Marko Smith

    SFTP 使用什么端口?

    • 6 个回答
  • Marko Smith

    命令行列出 Windows Active Directory 组中的用户?

    • 9 个回答
  • Marko Smith

    什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同?

    • 3 个回答
  • Marko Smith

    如何确定bash变量是否为空?

    • 15 个回答
  • Martin Hope
    Tom Feiner 如何按大小对 du -h 输出进行排序 2009-02-26 05:42:42 +0800 CST
  • Martin Hope
    Noah Goodrich 什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同? 2009-05-19 18:24:42 +0800 CST
  • Martin Hope
    Brent 如何确定bash变量是否为空? 2009-05-13 09:54:48 +0800 CST
  • Martin Hope
    cletus 您如何找到在 Windows 中打开文件的进程? 2009-05-01 16:47:16 +0800 CST

热门标签

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

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve