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

sootsnoot's questions

Martin Hope
sootsnoot
Asked: 2016-09-22 08:34:19 +0800 CST

某些 ssh 端口转发操作不允许,交互正常,客户端升级后

  • 2
  • 主持人:Amazon Linux with OpenSSH 6.6.1, OpenSSL 1.0.1k-fips 8 Jan 2015
  • 客户:Win 10 with Cygwin OpenSSH 7.3p1, OpenSSL 1.0.2h 3 May 2016

我可以毫无问题地进行交互 ssh:

win10$ ssh [email protected]
aws$

此端口转发也适用:

win10$ ssh -NTL 9003:localhost:80 [email protected] &
win10$

我使用后者通过以下方式访问服务器上的 phpmyadmin:

http://phpmyadmin.localhost:9003

这很好用。

为了使用 netbeans 调试服务器上运行的 php 代码,我这样做:

win10$ ssh -NTR 9000:localhost:9000 [email protected] &

这曾经工作正常。但是在升级 Cygwin 之后,我现在得到:

ssh: connect to host example.com port 22: Operation not permitted

在命令行中添加 -vvvv 并没有提供更多信息:

win10$ ssh -vvvv -NTR 9000:localhost:9000 [email protected]
OpenSSH_7.3p1, OpenSSL 1.0.2h  3 May 2016
debug1: Reading configuration data /home/user/.ssh/config
debug2: resolving "example.com" port 22
debug2: ssh_connect_direct: needpriv 0
debug1: Connecting to example.com [nn.nn.nn.nn] port 22.
debug1: connect to address nn.nn.nn.nn port 22: Operation not permitted
ssh: connect to host example.com port 22: Operation not permitted

我相信以前对我有用的 ssh 版本是Cygwin on WinXP with OpenSSH 7.1p2, OpenSSL 1.0.2f, 28 Jan 2016

服务器上没有任何变化。由于端口 9000 没有特权,我不认为这应该是权限问题,尤其是服务器配置没有改变,但我不得不承认端口转发对我来说基本上是魔法。任何想法可能是错误的或如何收集更多/更好的信息?

amazon-ec2 ssh cygwin port-forwarding
  • 1 个回答
  • 1751 Views
Martin Hope
sootsnoot
Asked: 2016-09-10 12:22:54 +0800 CST

如何让nginx try_files 及时获取html资源

  • 1

在实例上使用nginx1.8.1 。Amazon Linux EC2用作反向代理以支持 httpsApache在不同实例上运行。一切正常,除了这个问题。

我想提供一个静态页面nginx,以防我想Apache关闭服务器实例。所以我这样做了:

    location   / {
        try_files /site-down.html $uri @backend;
    }

因此,在关闭后端服务器之前,我在nginx服务器的根目录中创建了一个指向静态 html 文件的符号链接,如下所示:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8">

  <title>example.com</title>
  <style type="text/css">
  body {
    background-image:url('/images/back-soon-background.jpg');
    font-family: arial,verdana,sans-serif;
    text-align: center;
  }
  #msg {
    background-image: url('/images/back-soon-oval.png');
    background-repeat: no-repeat;
    width: 600px;
    padding-top: 140px;
    padding-left: 50px;
    padding-right: 50px;
    padding-bottom: 150px;
  }
  </style>
</head>

<body>
<div id="msg">
<h1>Sorry, the site is currently unavailable.</h1>
<h2>We expect to be back within 2 hours.</h2>
</div>
</body>
</html>

问题是,当我这样做时,页面会立即显示为 的文本内容,而没有该部分中div指定的图像。使用开发人员工具的网络选项卡,我可以看到对图像 URL 的请求,并获得 200 个状态代码。但是,如果我单击这些请求,则没有可用的预览,并且正文长度太短。重新加载页面并没有立即帮助。但是,如果我让它在那里坐一会儿,最终会出现带有图像的正确输出。如果我将浏览器直接指向,页面会立即正确显示。<style><head>Chrome/site-down.html

两者Chrome 52.0.2743.116 m的Firefox 48.0.2行为方式相同。我是新手nginx,但我无法想象为什么 try_files 中的第一个在文件存在的情况下与uri直接进入该文件的行为有什么不同。uri我错过了什么?

nginx static-content
  • 3 个回答
  • 2164 Views
Martin Hope
sootsnoot
Asked: 2016-08-16 16:43:07 +0800 CST

修复 starttls verify=fail, verifymsg=unable to get local issuer certificate

  • 8

在 EC2 实例上运行 Amazon Linux,使用sendmail. 我有一个网络解决方案的电子邮件帐户,并在我的配置中将该帐户用作SMART_HOST中继。sendmail除了一个小细节外,它运作良好。

在我的maillog文件中,我看到这样的条目:

sendmail[28450]: STARTTLS=client, relay=mail.example.com.netsolmail.net., version=TLSv1/SSLv3, verify=FAIL, cipher=DHE-RSA-AES256-SHA, bits=256/256

经过一番研究,我得出的结论verify=FAIL是本质上是无害的:连接实际上是加密的,只是无法验证主机的证书。

由于除了我之外没有人阅读日志文件,所以我不在乎。但是当消息到达时,Received标题显示

Received: from unknown (HELO example.com) ([email protected]@12.34.56.78)
  by 0 with ESMTPA; 15 Aug 2016 07:10:15 -0000

我希望看到with ESMPTSA,但我猜证书验证失败导致“S”被压制。

如何获得有关证书问题的更多详细信息,以及如何避免验证失败?我的猜测是多个子域mail.example.com.netsolmail.net与证书上的名称不匹配。但是我如何验证这一点,以及如何避免投诉 - 或者更确切地说,我如何才能让Received标头确认与ESMTPSA.

编辑:我编辑sendmail.mc添加

define(`confLOG_LEVEL', `15')dnl

现在邮件日志提供了更多细节。verify=FAIL在我现在看到的行之后:

sendmail[30706]: STARTTLS=client, cert-subject=/OU=GT39680792/OU=See+20www.rapidssl.com/resources/cps+20+28c+2915/OU=Domain+20Control+20Validated+20-+20RapidSSL+28R+29/CN=*.hostingplatform.com, cert-issuer=/C=US/O=GeoTrust+20Inc./CN=RapidSSL+20SHA256+20CA+20-+20G3, verifymsg=unable to get local issuer certificate

我认为这意味着验证失败的至少一个原因是 sendmail 找不到运行它的本地计算机的证书?由于我只是将传出的邮件中继到 netsol 服务器,从不接受来自互联网的传入邮件,我认为我不需要为该服务器提供证书。如果我需要一个,我在哪里/如何安装它?它可以是我用于我的网络服务器的同一个证书,还是我需要一个不同的证书?使用自签名证书是否足以让Received标头说with ESMTPSA,或者它需要是来自 CA 的商业证书?

编辑#2:

我接受@MadHatter 的回答。关键是得到confCACERT定义。我很尴尬,我唯一的借口是老脑残没有接触m4源。Amazon Linux 上的默认 sendmail.mc 文件已经包含

define(`confCACERT_PATH', `/etc/pki/tls/certs')dnl
define(`confCACERT', `/etc/pki/tls/certs/ca-bundle.crt')dnl

在其中,我已经验证了该文件存在。但我没有注意到dnl实际上在这些行开头的鬼鬼祟祟的小东西!我知道这意味着什么,但由于我很少看 m4 源代码,而且它就在其他一些dnl被标记为注释的 -ed 行之后#,我的大脑将它们记录为没有被注释掉!

实际上,我经历了一系列从 Firefox 下载证书并将 sendmail 指向我用于我们网站的 Digicert 证书的过程,但由于该主机只发送,从不接收电子邮件,因此没有其他必要。我把 and 的定义放回去了,dnl一切都很好,在适当的行上显示了and 。confSERVER_CERTconfSERVER_KEYmaillogverify=OKverifymsg=okSTARTTLS=client

但即使没有关于 TLS 的诊断,Received与 netsol 的连接的标头仍然显示with ESMTPA而不是with ESMTPSA. 哦,好吧,@MadHatter 对此也有兴趣。对不起,这太长了,有点像一场疯狂的追逐。但是我学到了很多东西,并且我确实改进了我的配置(以一种非重要的方式)。我希望那些绝望地经历过这一切的人也能学到一些东西。

smtp sendmail smarthost
  • 1 个回答
  • 25050 Views
Martin Hope
sootsnoot
Asked: 2016-07-28 15:54:58 +0800 CST

为什么“Received: ...by”电子邮件标题不显示端口?

  • 2

我最近遇到了一个问题,垃圾邮件带有一个包含我自己地址的信封。起初我认为这意味着我的密码已被泄露,错误地认为我的电子邮件服务器的 Received 标头的“by”子句中的“with esmtp (Exim 4.87)”意味着它来自经过身份验证的连接。我的电子邮件提供商很快纠正了我,传入的消息来自 MTA,而 MTA 在传递消息时不进行身份验证。因此,它可以很容易(并且很可能确实)通过开放中继来实现,因为 IP 地址都列在 15 个或更多黑名单上。

当我从 Thunderbird 发送邮件时,我连接到端口 587,并且该端口需要身份验证。如果我可以查看标头并看到与我的 ISP 服务器的连接在端口 587 上,那么我就会知道发件人已通过身份验证,并且如果它有我自己的地址作为其信封发件人,那么我就会知道我的密码已经被妥协了,对吧?好吧,我猜跟踪中的任何服务器都可以修改早期的标头,但是在这些情况下,跟踪中没有任何其他服务器。即使有,也不清楚为什么服务器要修改之前标头中给出的端口号。

我尝试询问电子邮件提供商是否可以将端口添加到他们的“接收者”条款中,但没有得到有意义的回复。我用谷歌搜索了一下,看看 sendmail 是否可以选择这样做,但一无所获。但是,我猜标题实际上告诉我他们使用的是 Exim 而不是 sendmail,并且此链接显示了在 Exim 中配置标题内容的位置,尽管它没有说明如何在文本中引用传入端口号。

但是鉴于端口号似乎为处理来自欺骗发件人的垃圾邮件的任何人提供了一些非常有价值的信息,我想知道为什么默认情况下不包括它。

smtp-headers
  • 1 个回答
  • 773 Views
Martin Hope
sootsnoot
Asked: 2016-07-18 08:22:44 +0800 CST

使用 localhost/127.0.0.1 而不是机器自己的 IP 地址重要吗?

  • 2

我在运行 Amazon Linux 的 Amazon AWS EC2 上,尽管这对答案可能并不重要。

假设我有三台主机,H1、H2、H3,其私有 IP 地址分别为 10.0.0.1、10.0.0.2 和 10.0.0.3。这可以用以下几行表示在 /etc/hosts 文件中:

127.0.0.1   localhost localhost.localdomain
10.0.0.1    H1
10.0.0.2    H2
10.0.0.3    H3

在 php 代码中,我执行 curl 等操作以访问特定主机上的内容,基于对主机提供的内容的隐式了解。我宁愿不关心我正在访问的特定主机是否是运行代码本身的主机,只访问 H1、H2 或 H3。我可以在每个主机上使用不同的 /etc/hosts 文件,将带有其私有 IP 地址的行更改为使用地址 127.0.0.1。但这真的很重要吗?如果我在所有机器上使用相同的 /etc/hosts 文件,我会牺牲任何性能或功能吗?

对机器自己的私有 IP 地址进行的网络访问是否真的会导致真正的“外部”流量,或者它是否被检测到并使用像 127.0.0.1 这样的环回连接器呢?接收请求的进程是否将原始地址视为机器自己的私有 IP 地址,还是仍然看到 127.0.0.1?

amazon-ec2 loopback localhost
  • 1 个回答
  • 2702 Views
Martin Hope
sootsnoot
Asked: 2014-12-25 19:59:45 +0800 CST

使用 MySQL InnoDB file-per-table 的 lvm2 快照,我是否需要停止服务器进行备份?

  • 1

我已经阅读了很多关于对 mySQL 进行一致备份的文章,包括一致数据集的含义是什么?(MySQL),但我仍然认为我的知识不足以自信地回答这个问题。我最初在 stackoverflow 上发布了这个问题,但一些知名成员建议这将是一个更好的地方。所以我基本上是在这里复制粘贴问题并从那里删除它。希望这是一种可以接受的做法 - 我就如何解决问题寻求帮助,但没有得到任何帮助。

仅使用启用了 file-per-table 的 InnoDB 表运行 MySQL 5.5,以支持在运行 Amazon Linux 的 Amazon EC2 上托管的多用户网站。

data从我在这里和其他 Stack Exchange 站点中找到的内容来看,在关闭服务器后复制整个树以进行有效备份听起来是可以的。

我目前正在做的备份是:

  1. 停止阿帕奇
  2. 停止mysql
  3. 拍摄包含数据目录的卷的 lvm2 快照
  4. 启动mysql
  5. 启动阿帕奇
  6. 使用 rsnapshot 将 lvm2 快照复制到不同的卷
  7. 删除 lvm2 快照

在对https://stackoverflow.com/questions/9165118/lvm-mysql-backup/9165604#9165604的回答中,Bill Karwin 指出 lvm 快照会严重降低 I/O 性能。但我相信,由于 lvm 快照仅在 rsnapshot(使用 rsync)完成的短时间内处于活动状态,因此性能不会受到严重影响。

所以我的问题是我是否真的需要在拍摄 lvm 快照时停止服务器。我想我在某处读到,虽然“即时”快照可以捕获具有不完整事务的 InnoDB 表,但如果发生这种情况,mySQL 将在重新启动时始终如一地处理它们。所以我认为停止服务器可能是矫枉过正,即使它只是在拍摄 lvm 快照时停止了很短的时间。(我首先停止 apache,因此如果没有数据库运行,请求就无法进入)。

我一定会在http://www.percona.com/software/percona-xtrabackup上查看 Bill 的建议。它似乎在这里被引用了很多。它适用于 MySQL 5.5,还是我需要安装 Percona Server?与此同时,我想知道我是否可以对我正在做的事情进行渐进式的改进——或者我正在做的事情是否已经被打破了!

mysql
  • 1 个回答
  • 655 Views
Martin Hope
sootsnoot
Asked: 2014-11-21 11:26:34 +0800 CST

如果发送日期标题,智能主机不发送电子邮件?

  • 1

我在 Amazon Linux 服务器上使用 MantisBT 1.2.6。它有自己的电子邮件发送类,位于 PHP mail() 函数之上。实际上,它还有其他选项可以直接使用 smtp 或 sendmail,但我使用的是 PHP 邮件。然后 PHP 邮件又使用 sendmail。

我将 sendmail 配置为使用智能主机,它运行良好,因为我可以编写一个小的 PHP 程序来通过其 mail() 函数成功发送消息。

但是 MantisBT 发送的邮件从未到达,也没有退回。

/var/log/maillog显示成功发送到智能主机的 MantiBT 消息

(relay=my-smarthost-hostname) with "stat=Sent (ok nnnn qp nnnn)"

如果我更改 /etc/mail/authinfo 文件以使用错误的密码,邮件日志会显示该中继的“stat=Service不可用”。

因此,问题似乎必须是 MantiBT 代码中的一些微妙之处。我使用 xdebug 找到它对 mail() 的调用,并获取其参数的值,并将它们提取到一个单独的 php 文件中以供使用。除了第四个参数中的“From:”之外,它还传递了许多标头,我怀疑它们可能只是被 \n 分隔,而不是 RFC (2)821 要求的 \r\n,这导致了问题. 但是我在标题字符串中添加了将 \n 更改为 \r\n 的代码,这没有任何区别。

最后,导致问题的原因是存在(正确的)“日期:”标题。当我从第 4 个参数中删除该标头到 mail() 时,邮件立即送达。所以我编辑了 MantisBT 源不生成该标头,一切都很好(我还编辑了 MantisBT 源,不在“-f”选项和发件人地址之间放置空格)。

所以我的问题是是否已知 mail() 的第四个参数中存在“日期:”标头会导致通过智能主机发送问题。如果智能主机不喜欢看到 Date 标头,您是否会期望在邮件日志中出现退回邮件或消息?

PS 当我在邮件日志中看到已发送的 ok 消息时,我实际上致电 Network Solutions 技术支持,但在我将其隔离到 Date 标头之前。自然,这并没有什么用处,只是有关如何为 POP 或 IMAP 配置电子邮件客户端的说明 :-)

sendmail
  • 1 个回答
  • 257 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