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

QuantumMechanic's questions

Martin Hope
QuantumMechanic
Asked: 2016-12-06 21:47:53 +0800 CST

无法使用 Let's Encrypt/Certbot 通过 TLS-SNI-01 挑战 - 如何解决?

  • 1

我正在运行 Ubuntu 14.04LTS。certbot-auto由于 certbot 不在 14.04 中,因此我已从 EFF 网站获取。

我试过运行它

certbot-auto --apache -d my.domain

并且它在 TLS-SNI-01 质询期间始终超时,并显示以下消息:

Failed authorization procedure. my.domain (tls-sni-01): urn:acme:error:connection :: The server could not connect to the client to verify the domain :: Failed to connect to ww.xx.yy.zz:443 for TLS-SNI-01 challenge

我已经通过运行 openssl 的命令并从外部位置s_server成功连接到“服务器”来验证入站 TLS 没有被阻止。s_server

看着/var/log/apache2/error.log我确实看到了一个关于(我假设)certbot-auto临时尝试设置的 docroot 未找到的可疑警告:

[Tue Dec 06 00:34:02.306032 2016] [mpm_prefork:notice] [pid 19521] AH00171: Graceful restart requested, doing restart
[Tue Dec 06 00:34:03.001014 2016] [mpm_prefork:notice] [pid 19521] AH00163: Apache/2.4.7 (Ubuntu) configured -- resuming normal operations
[Tue Dec 06 00:34:03.001094 2016] [core:notice] [pid 19521] AH00094: Command line: '/usr/sbin/apache2'
[Tue Dec 06 00:34:14.596461 2016] [mpm_prefork:notice] [pid 19521] AH00171: Graceful restart requested, doing restart
AH00112: Warning: DocumentRoot [/var/lib/letsencrypt/tls_sni_01_page/] does not exist
[Tue Dec 06 00:34:14.661372 2016] [ssl:warn] [pid 19521] AH01906: RSA server certificate is a CA certificate (BasicConstraints: CA == TRUE !?)
[Tue Dec 06 00:34:15.000674 2016] [mpm_prefork:notice] [pid 19521] AH00163: Apache/2.4.7 (Ubuntu) OpenSSL/1.0.1f configured -- resuming normal operations
[Tue Dec 06 00:34:15.001293 2016] [core:notice] [pid 19521] AH00094: Command line: '/usr/sbin/apache2'

在/var/log/letsencrypt/letsencrypt.log我看到以下内容,这看起来完全合理:

2016-12-06 05:34:13,247:INFO:certbot.auth_handler:Performing the following challenges:
2016-12-06 05:34:13,268:INFO:certbot.auth_handler:tls-sni-01 challenge for mydomain.com
2016-12-06 05:34:13,359:INFO:certbot_apache.configurator:Enabled Apache socache_shmcb module
2016-12-06 05:34:13,520:INFO:certbot_apache.configurator:Enabled Apache ssl module
2016-12-06 05:34:14,345:DEBUG:certbot_apache.tls_sni_01:Adding Include /etc/apache2/le_tls_sni_01_cert_challenge.conf to /files/etc/apache2/apache2.conf
2016-12-06 05:34:14,351:DEBUG:certbot_apache.tls_sni_01:writing a config file with text:
 <IfModule mod_ssl.c>
<VirtualHost *>
    ServerName b103a17811594b35d3ade8eb763c8c42.74b423d383109b22eaecca3ea14cd1f7.acme.invalid
    UseCanonicalName on
    SSLStrictSNIVHostCheck on

    LimitRequestBody 1048576

    Include /etc/letsencrypt/options-ssl-apache.conf
    SSLCertificateFile /var/lib/letsencrypt/mRH5i2aIrWMqjsZn3jMXvdNnYV5Ejd0GBtcDoIJqQ4U.crt
    SSLCertificateKeyFile /var/lib/letsencrypt/mRH5i2aIrWMqjsZn3jMXvdNnYV5Ejd0GBtcDoIJqQ4U.pem

    DocumentRoot /var/lib/letsencrypt/tls_sni_01_page/
</VirtualHost>

</IfModule>

如果我/var/lib/letsencrypt在certbot-auto跑步时观看,我永远不会看到tls_sni_01_page正在创建。这是我看到的顺序——一个临时目录和一些临时证书正在制作,然后在挑战失败时删除,但从来没有tls_sni_01_page

/var/lib/letsencrypt$ ls
backups
/var/lib/letsencrypt$ ls
backups
/var/lib/letsencrypt$ ls
backups
/var/lib/letsencrypt$ ls
backups  temp_checkpoint
/var/lib/letsencrypt$ ls
backups  temp_checkpoint
/var/lib/letsencrypt$ ls
backups  e1pvy9TgUvOmBxC4dlkwG5Ly2mTY0DU63qhUFpBik2Y.crt  e1pvy9TgUvOmBxC4dlkwG5Ly2mTY0DU63qhUFpBik2Y.pem  temp_checkpoint

我还更改/etc/letsencrypt/options-ssl-apache.conf了将日志记录级别设置为DEBUG并将该临时虚拟主机日志记录到它自己的错误和访问日志中。我在错误日志中看到输出但没有问题,但在访问日志中根本看不到任何内容。

我试过运行tcpdump -n port 443,我确实看到来自远程机器的某种连接尝试:

09:14:44.388328 IP 66.133.109.36.48890 > w.x.y.z.443: Flags [S], seq 1627589669, win 29200, options [mss 1460,sackOK,TS val 2834688174 ecr 0,nop,wscale 7], length 0
09:14:44.388435 IP w.x.y.z.443 > 66.133.109.36.48890: Flags [S.], seq 773250860, ack 1627589670, win 28960, options [mss 1460,sackOK,TS val 424229197 ecr 2834688174,nop,wscale 7], length 0
09:14:44.451190 IP 66.133.109.36.48890 > w.x.y.z.443: Flags [.], ack 1, win 229, options [nop,nop,TS val 2834688237 ecr 424229197], length 0
09:14:44.451546 IP 66.133.109.36.48890 > w.x.y.z.443: Flags [P.], seq 1:220, ack 1, win 229, options [nop,nop,TS val 2834688237 ecr 424229197], length 219
09:14:44.451619 IP w.x.y.z.443 > 66.133.109.36.48890: Flags [.], ack 220, win 235, options [nop,nop,TS val 424229216 ecr 2834688237], length 0
09:14:44.454461 IP w.x.y.z.443 > 66.133.109.36.48890: Flags [P.], seq 1:393, ack 220, win 235, options [nop,nop,TS val 424229217 ecr 2834688237], length 392
09:14:44.454626 IP w.x.y.z.443 > 66.133.109.36.48890: Flags [F.], seq 393, ack 220, win 235, options [nop,nop,TS val 424229217 ecr 2834688237], length 0
09:14:44.517433 IP 66.133.109.36.48890 > w.x.y.z.443: Flags [.], ack 393, win 237, options [nop,nop,TS val 2834688303 ecr 424229217], length 0
09:14:44.517481 IP 66.133.109.36.48890 > w.x.y.z.443: Flags [P.], seq 220:227, ack 394, win 237, options [nop,nop,TS val 2834688303 ecr 424229217], length 7
09:14:44.517514 IP 66.133.109.36.48890 > w.x.y.z.443: Flags [F.], seq 227, ack 394, win 237, options [nop,nop,TS val 2834688303 ecr 424229217], length 0
09:14:44.517544 IP w.x.y.z.443 > 66.133.109.36.48890: Flags [.], ack 228, win 235, options [nop,nop,TS val 424229235 ecr 2834688303], length 0

知道到底发生了什么吗?任何人都可以使用 Ubuntu 14.04LTS 和 apache 来完成这项工作吗?

ubuntu ssl https
  • 2 个回答
  • 5849 Views
Martin Hope
QuantumMechanic
Asked: 2016-01-07 14:52:05 +0800 CST

将 linode 从 Xen 升级到 KVM 时处理 /etc/fstab

  • 2

我有一个当前位于 Linode 的 Xen 服务器之一上的 linode。我看到我有资格升级到 KVM linode。

我担心的一件事是 Linode 的升级指南说块设备将从/dev/xvda命名方案更改为/dev/sda命名方案。

我/etc/fstab的是:

proc        /proc        proc    defaults                       0 0
/dev/xvda   /            ext3    noatime,errors=remount-ro      0 1
/dev/xvdb   none         swap    sw                             0 0

所以我想我将不得不在升级的同时以某种方式对其进行修改。

我应该只在关闭和升级之前编辑和/dev/xvda条目/dev/xvdb吗?/dev/sda/dev/sdb

我应该切换到UUID=声明设备的风格吗?(现在我想想,设备 UUID 还会保持不变吗?)

我确实向 Linode 开了一张支持票,他们所说的只是“在升级之前在您的配置文件中打开 Distro Helper,这应该会处理好它”。这留下了它不会的机会,所以我更愿意主动做一件已知的好事。

相关地,我假设管理 UI 中的配置文件中的“根设备”选项(这是一个提供/dev/xvdN选项的下拉菜单)将在升级时正确映射/dev/xvda到/dev/sda等?

总而言之,我很想听听那些将他们的 linode 通过 Xen->KVM 转换的人的意见,看看这个问题(以及我不知道的其他问题)是如何解决的。

linux
  • 1 个回答
  • 342 Views
Martin Hope
QuantumMechanic
Asked: 2012-10-27 12:57:14 +0800 CST

为什么 apache2 在启动时可能会使用 100% 的 CPU?

  • 0

这是apache 2.2.14在SLES9。

无处不在(即它多年来一直运行良好)我看到apache2突然在启动时开始使用 100% 的 CPU,并且从未完成启动。什么都没有被写入/var/log/error_log(当一切正常时它确实回来了)。 ps只显示主httpd进程而不显示任何生成的线程。当一切正常时,它会显示生成的线程。

所以它似乎httpd在启动时就进入了某种无限循环,甚至没有完成启动。这不是连接过载的问题——即使没有人试图联系它也会发生这种情况。

配置文件没有改变(或者至少他们没有以改变其上次修改时间的方式改变)。

我试过添加-e debug -E /var/log/apache2/startup_info到命令行,但文件中没有任何内容。

任何想法可能会发生什么?

linux
  • 1 个回答
  • 702 Views
Martin Hope
QuantumMechanic
Asked: 2012-07-21 20:34:24 +0800 CST

无法让 SASL auxprop/sasldb 使用 postfix/Ubuntu 12.04

  • 9

我有一个运行 Postfix 2.5.1 的 Ubuntu 8.04LTS 系统。在该系统上,SMTP AUTH 运行良好。的内容 /etc/postfix/sasl/smtpd.conf是:

pwcheck_method: auxprop
auxprop_plugin: sasldb
mech_list: PLAIN

SASL 相关的属性是:

smtpd_sasl_type = cyrus
smtpd_sasl_auth_enable = yes
smtpd_sasl_path = smtpd
smtpd_sasl_security_options = noanonymous
broken_sasl_auth_clients = yes
smtpd_sasl_local_domain = $myhostname

当我这样做时,sudo sasldblistusers2我得到:

authusername@mail.mydomain.com: userPassword

正如我所说,在 8.04LTS 系统上一切正常。

但是,我正在尝试将它迁移到运行 Postfix 2.9.3 的 Ubuntu 12.04LTS 系统,但我无法让它工作。我做的一切都是一样的,但 postfix 每次都会提供身份验证失败。

这不是/etc/sasldb2文件。我试过从旧系统中取出文件,但没有用。我使用以下方法创建了一个新文件:

saslpasswd2 -c -u mail.mydomain.com authusername

这是行不通的,尽管如果我将它复制到旧系统它会在旧系统上工作,这就是我知道文件没有问题的方式。

同样,我知道 postfix 正在查看该smtpd.conf文件。如果我mech_list在文件行中添加更多机制,当我连接到 smtpd 守护程序时,我会看到这些额外机制被通告。当我移除它们时,它们又消失了。/etc/postfix/sasl/smtpd.conf显然已经习惯了。

我正在通过使用实际的邮件客户端和在使用此生成令牌后手动与服务器对话来进行测试:

perl -MMIME::Base64 -e 'print encode_base64("\000authusername\000thePassword");'

然后:

openssl s_client -quiet -starttls smtp -connect the.newsystem.com:587

结果对话是:

250 DSN
EHLO example.com
250-the.newsystem.com
250-PIPELINING
250-SIZE 20971520
250-ETRN
250-AUTH PLAIN
250-AUTH=PLAIN
250-ENHANCEDSTATUSCODES
250-8BITMIME
250 DSN
AUTH PLAIN theBase64EncodedToken
535 5.7.8 Error: authentication failed: authentication failure

但是,如果我改为连接the.oldsystem.com:587并做同样的事情,我会得到:

235 2.7.0 Authentication successful

saslfinger 在新机器上的输出是:

# sudoh saslfinger -s
saslfinger - postfix Cyrus sasl configuration Sat Jul 21 00:24:24 EDT 2012
version: 1.0.4
mode: server-side SMTP AUTH

-- basics --
Postfix: 2.9.3
System: Ubuntu 12.04 LTS \n \l

-- smtpd is linked to --
        libsasl2.so.2 => /usr/lib/i386-linux-gnu/libsasl2.so.2 (0xb76c5000)


-- active SMTP AUTH and TLS parameters for smtpd --
broken_sasl_auth_clients = yes
smtpd_sasl_auth_enable = yes
smtpd_sasl_local_domain = $myhostname
smtpd_sasl_path = smtpd
smtpd_sasl_security_options = noanonymous
smtpd_sasl_type = cyrus
smtpd_tls_CAfile = /etc/ssl/certs/MyCA.pem
smtpd_tls_auth_only = yes
smtpd_tls_cert_file = /etc/postfix/ssl/server.crt
smtpd_tls_key_file = /etc/postfix/ssl/server.key
smtpd_tls_loglevel = 1
smtpd_tls_security_level = may
smtpd_tls_session_cache_database = btree:${data_directory}/smtpd_scache
smtpd_tls_session_cache_timeout = 3600s


-- listing of /usr/lib/sasl2 --
total 16
drwxr-xr-x  2 root root 4096 Jul 20 23:00 .
drwxr-xr-x 67 root root 8192 Jul 20 21:25 ..
-rw-r--r--  1 root root    1 May  4 00:17 berkeley_db.txt

-- listing of /etc/postfix/sasl --
total 20
drwxr-xr-x 2 root root 4096 Jul 20 21:29 .
drwxr-xr-x 5 root root 4096 Jul 20 23:58 ..
-rw-r--r-- 1 root root   64 Jul 20 21:29 smtpd.conf



-- content of /etc/postfix/sasl/smtpd.conf --
pwcheck_method: auxprop
auxprop_plugin: sasldb
mech_list: PLAIN

-- content of /etc/postfix/sasl/smtpd.conf --
pwcheck_method: auxprop
auxprop_plugin: sasldb
mech_list: PLAIN


-- active services in /etc/postfix/master.cf --
# service type  private unpriv  chroot  wakeup  maxproc command + args
#               (yes)   (yes)   (yes)   (never) (100)
smtp      inet  n       -       -       -       -       smtpd
submission inet n       -       -       -       -       smtpd
  -o syslog_name=postfix/submission
  -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

[snipping the rest of the services]

-- mechanisms on localhost --

-- end of saslfinger output --

我可能遗漏/做错了什么?据我所知,所有的配置都是一样的,但它不能在新系统上运行。

ubuntu
  • 3 个回答
  • 7309 Views
Martin Hope
QuantumMechanic
Asked: 2012-06-28 13:50:42 +0800 CST

Java 中基于时间的 32 位溢出?还是 SLES11?

  • 4

这是 Tomcat 6.0.18、Java 1.7.0_03(32 位)和 SLES11 SP2(64 位)。至于内核信息:

$ uname -a
Linux server-1 3.0.13-0.27-default #1 SMP Wed Feb 15 13:33:49 UTC 2012 (d73692b) x86_64 x86_64 x86_64 GNU/Linux

我们在三台服务器上进行负载和寿命测试。在所有三台独立的机器上,我们让 Tomcat在每台 Tomcat 启动后 2^32 毫秒(49 天以上)的一秒内退出。System.exit(1)在每台机器上,两个线程在 JVM 退出之前产生堆栈跟踪(Tomcat 本身在获取时调用,SocketTimeoutException这就是 JVM 退出的原因)。

一个线程是(默认情况下)在端口 8005 上侦听关闭命令的线程(通过查看 Tomcat 源代码验证了这一点):

Jun 22, 2012 9:10:15 AM org.apache.catalina.core.StandardServer await
SEVERE: StandardServer.await: accept: 
java.net.SocketTimeoutException: Accept timed out
      at java.net.PlainSocketImpl.socketAccept(Native Method)
      at java.net.AbstractPlainSocketImpl.accept(Unknown Source)
      at java.net.ServerSocket.implAccept(Unknown Source)
      at java.net.ServerSocket.accept(Unknown Source)
      at org.apache.catalina.core.StandardServer.await(StandardServer.java:389)
      at org.apache.catalina.startup.Catalina.await(Catalina.java:642)
      at org.apache.catalina.startup.Catalina.start(Catalina.java:602)
      at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
      at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
      at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
      at java.lang.reflect.Method.invoke(Unknown Source)
      at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:288)
      at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:413)

另一个线程是(我们相信,虽然我们没有检查 Tomcat 源来验证)处理传入端口 8080 连接的线程:

Jun 22, 2012 9:10:15 AM org.apache.jk.common.ChannelSocket acceptConnections
WARNING: Exception executing accept
java.net.SocketTimeoutException: Accept timed out
      at java.net.PlainSocketImpl.socketAccept(Native Method)
      at java.net.AbstractPlainSocketImpl.accept(Unknown Source)
      at java.net.ServerSocket.implAccept(Unknown Source)
      at java.net.ServerSocket.accept(Unknown Source)
      at org.apache.jk.common.ChannelSocket.accept(ChannelSocket.java:307)
      at org.apache.jk.common.ChannelSocket.acceptConnections(ChannelSocket.java:661)
      at org.apache.jk.common.ChannelSocket$SocketAcceptor.runIt(ChannelSocket.java:872)
      at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:690)
      at java.lang.Thread.run(Unknown Source)

Tomcat 没有做任何疯狂的事情。在第一种情况下,它只是一个通过调用while (true)获得 a 的循环,然后调用炸弹。SocketServerSocket.accept()accept()

任何想法为什么会发生这种情况以及我可以尝试查看/寻找什么来弄清楚将来如何预防它?

请注意,虽然Tomcat运行了 2^32 毫秒,但在 Tomcat 启动时系统已经启动。当然,这并不排除在 Tomcat 开始涉及时创建的一些流程变量。

tomcat java sles tomcat6 sles11
  • 2 个回答
  • 1577 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