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

xangr's questions

Martin Hope
xangr
Asked: 2016-10-26 07:04:16 +0800 CST

GlusterFS 服务器逻辑

  • 0

我完全不了解 GlusterFS 探针。看,我将所有服务器添加到 /etc/hosts 文件,我为每台服务器执行此操作。假设我有 100 台服务器,后来我又增加了 100 台。我无法想象更新所有 200 个服务器的主机文件以供查看。

我在这里错过了什么吗?如何在不修改每个服务器主机文件的情况下轻松添加更多服务器?

我应该使用私有 LAN 并使用 IP 地址而不是主机名吗?这行得通吗?

卡在这一点...

nfs filesystems distributed-filesystems glusterfs
  • 1 个回答
  • 52 Views
Martin Hope
xangr
Asked: 2015-11-20 01:57:27 +0800 CST

数以百万计的请求和 MariaDB 与 PostgreSQL

  • 0

我不要求比较。我已经知道 PostgreSQL 和 MariaDB 是什么以及它们的区别。

我正在从另一个角度看待这个问题。像Facebook这样的公司使用MySQL(当然打了补丁),但他们如何处理数百万个请求呢?

更清楚; PostgreSQL有PgPool工具,可以为每个人缓存和重用当前连接,因为客户端数据是相同的。因此,当PHP应用程序连接到 PgPool 10.000 次时,它实际上使用的连接很少。这使得数百万用户可以同时使用 PostgreSQL 而不会max connection出错。

但是在 MariaDB/MySQL 上有一个max_connection设置点指向150. 这是否意味着只有 150 个客户端可以从同一个 PHP 网页连接到 MariaDB/MySQL?例如,我应该如何处理从 PHP 到 MariaDB 的数百万个请求?如果有200 万用户同时登录我的网站,我的网站会max_connection怎样150?或者,更好的是,有没有像 PgPool 这样的 MariaDB 等价物?

在这种情况下我会应用什么样的场景?

php
  • 1 个回答
  • 359 Views
Martin Hope
xangr
Asked: 2014-09-26 04:25:12 +0800 CST

postfix 无法通过 TLS/SSL 与目标服务器通信

  • 1

我可以用 TLS 连接我的postfix 服务器。所有的东西都设置好了。但是,当我使用此安全连接发送消息时,目标服务器(例如 gmail)会在没有 TLS/SSL 安全连接的情况下收到我的消息。

如果我使用另一台具有 cpanel 的服务器,Gmail 会通过 ESMTP S接收该消息。但是当我向 gmail 帐户发送消息时,它由 ESMTP 接收(不使用 TLS 连接。)

真诚地,我发现我的 postfix 服务器没有通过 SSL/TLS 加密连接与目标进行协商。

http://www.checktls.com报告您的电子邮件已发送,但未使用 TLS 安全发送。

但是为什么我能够通过 TLS 连接我的服务器,但服务器无法通过安全连接发送它?

这是配置文件:

主文件

myhostname =  **hidden**
myorigin = /etc/mailname
mynetworks_style = host
mydestination = domains here...
relayhost =
mynetworks = 127.0.0.0/8 [::ffff:127.0.0.0]/104 [::1]/128
mailbox_size_limit = 0
recipient_delimiter = +
inet_interfaces = all
mailbox_size_limit = 0
message_size_limit = 104857600


mailbox_transport = lmtp:unix:private/dovecot-lmtp
virtual_transport = lmtp:unix:private/dovecot-lmtp

smtpd_tls_cert_file = /etc/ssl/certs/postfix.pem
smtpd_tls_key_file = /etc/ssl/private/postfix.pem

smtpd_use_tls = yes
smtpd_tls_session_cache_database = btree:${data_directory}/smtpd_scache
smtp_tls_session_cache_database = btree:${data_directory}/smtp_scache
smtpd_tls_security_level=encrypt
smtpd_tls_protocols = !SSLv2, !SSLv3
smtp_dns_support_level = enabled
smtp_tls_loglevel = 1

smtpd_sasl_type = dovecot

smtpd_sasl_path = private/auth

# and the common settings to enable SASL:
smtpd_sasl_auth_enable = yes
# With Postfix version before 2.10, use smtpd_recipient_restrictions
smtpd_relay_restrictions = permit_mynetworks, permit_sasl_authenticated, reject_unauth_destination
smtpd_recipient_restrictions = permit_mynetworks permit_inet_interfaces

append_dot_mydomain = no
readme_directory = no



smtpd_milters           = inet:127.0.0.1:8891
non_smtpd_milters       = $smtpd_milters
milter_default_action   = accept
milter_protocol     = 2

canonical_classes = header_recipient

大师.cf

smtp      inet  n       -       -       -       -       smtpd
#submission inet n       -       -       -       -       smtpd
#  -o cleanup_service_name=subcleanup
#  -o smtpd_tls_security_level=encrypt
#  -o smtpd_sasl_auth_enable=yes
#  -o smtpd_client_restrictions=permit_sasl_authenticated,reject
#  -o milter_macro_daemon_name=ORIGINATING
submission inet n      -       n       -       -       smtpd
  -o syslog_name=postfix/submission
  -o smtpd_tls_wrappermode=yes
  -o smtpd_tls_security_level=encrypt
  -o smtpd_sasl_auth_enable=yes
  -o smtpd_recipient_restrictions=permit_mynetworks,permit_sasl_authenticated,reject
  -o milter_macro_daemon_name=ORIGINATING
  -o smtpd_sasl_type=dovecot
  -o smtpd_sasl_path=private/auth
smtps     inet  n       -       -       -       -       smtpd
  -o syslog_name=postfix/submission
  -o smtpd_tls_wrappermode=yes
  -o smtpd_tls_security_level=encrypt
  -o smtpd_sasl_auth_enable=yes
  -o smtpd_recipient_restrictions=permit_mynetworks,permit_sasl_authenticated,reject
  -o milter_macro_daemon_name=ORIGINATING
  -o smtpd_sasl_type=dovecot
  -o smtpd_sasl_path=private/auth
postfix
  • 1 个回答
  • 669 Views
Martin Hope
xangr
Asked: 2013-05-23 06:38:35 +0800 CST

nginx 只是拒绝在 catch-all 指令中已经定义的 IP 地址

  • 1

我有这个包罗万象:

    server {
        listen 80 default_server;
        server_name _;
        return 444;
    }

现在,假设我们有两个名为1.2.3.4和的 IP 1.2.3.5。

好吧,假设在配置文件中的任何地方1.2.3.4使用example.com并且1.2.3.5从未使用过。基本上只有第一个 IP 在使用中。其他 IP 为空白/空/免费。

好吧,问题来了。上面的服务器块正在使用1.2.3.5. 因为此 IP 从未与任何服务器块一起使用。这是免费的。分配给服务器。它回应。但从未用于任何网站。listen 80;指令仅适用于1.2.3.5.

另一方面,1.2.3.4是行不通的。Nginx 不监听这个 IP。因为它被另一个服务器块使用。我测试了自己。Indded,Nginx 拒绝监听这个正在被 ngnix 服务器块使用的 Ips

现在,如果我更改listen 80;为listen 1.2.3.4:80然后它正在为该 IP 工作。

基本上, Nginx不允许我为默认的包罗万象监听使用过的 IP 地址。

我只想捕获进入我的服务器的每一个不属于我的假域。我想通过假主机禁用用户。但是我真的需要编写每个 IP 来监听吗?

有什么解决方法吗?有什么帮助吗?

编辑 1:我也试过listen *:80;有通配符。也没有用。

编辑 2:如果我从 listen 指令中删除所有 IP 并只保留端口,它就可以工作。但是我们不是把 ip 地址放在 listen 指令上吗?Nginx 示例始终只显示侦听端口。我怀疑哪个是正确的。ip:端口或仅端口。

演示:

作品:

除 example.com 外,其他网站均因 444 错误而被拒绝。

server {
        listen 1.2.3.4:80 default_server;
        server_name _;
        return 444;
    }
 server {
        listen 1.2.3.4:80;
        server_name example.com;
        root /www
    }

不工作:

仍然接受 example.com 以外的假主机

server {
        listen 80 default_server;
        server_name _;
        return 444;
    }
 server {
        listen 1.2.3.4:80;
        server_name example.com;
        root /www
    }

结论:

在 Nathan 的评论之后,我深入研究了这个问题并发现了这一行:

default_server 参数(如果存在)将使服务器成为指定地址:端口对的默认服务器。

基本上,正如 Nathan 所说,它将看起来是最高 IP,并且该服务器块仅在该级别可用。为此,您必须指定每个 IP。所以,我们有两个选择。

  1. 使用listen 80;指令和参数,您可以为端口定义一个默认服务器80
  2. 使用listen ip:80和定义每个地址自己的默认服务器。

另一个伟大的标语:

在此配置中,nginx 首先根据服务器块的侦听指令测试请求的 IP 地址和端口。然后,它根据与 IP 地址和端口匹配的服务器块的 server_name 条目测试请求的“主机”标头字段。如果找不到服务器名称,则请求将由默认服务器处理。例如,在 192.168.1.1:80 端口上收到的对 www.example.com 的请求将由 192.168.1.1:80 端口的默认服务器处理,即由第一个服务器处理,因为没有 www.example为此端口定义的 .com。

nginx
  • 1 个回答
  • 430 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