Apache httpd conf文件configuration不匹配

自从过去三天以来,我一直面临一个奇怪的问题。 在这里发表我的问题之前,我做了所有需要做的事情。

我的httpd.conf如下所示:

NameVirtualHost *:443 Listen *:443 <VirtualHost server1.example.com:443> ServerName server1 #ServerName server1.example.com SSSLEngine on </VirtualHost> 

在server1.example.com上应用SSL,但是在我们进入网站之后,只能在ServerName server1上工作,而不能在ServerName server1.example.com上工作。 我们没有任何configuration和networking文件中的server1。

所以,当我们这样做https://server1.example.com/xyz/ —它与ServerName server1一起使用,但不适用于ServerName server1.example.com。

问题在哪里? 我没有得到它。 / etc / hosts,/ etc / sysconfig / network,无处我们有server1; 即使在DNS也是如此。

请build议。

这是我们在错误日志中得到的:

[Thu Nov 24 11:40:14 2016] [警告] RSA服务器证书CommonName(CN) server1.example.com' does NOT match server name!? [Thu Nov 24 11:40:14 2016] [notice] Digest: generating secret for digest authentication ... [Thu Nov 24 11:40:14 2016] [notice] Digest: done [Thu Nov 24 11:40:14 2016] [notice] SSL FIPS mode disabled [Thu Nov 24 11:40:14 2016] [warn] RSA server certificate CommonName (CN) server1.example.com' does NOT match server name!? [Thu Nov 24 11:40:14 2016] [notice] Digest: generating secret for digest authentication ... [Thu Nov 24 11:40:14 2016] [notice] Digest: done [Thu Nov 24 11:40:14 2016] [notice] SSL FIPS mode disabled [Thu Nov 24 11:40:14 2016] [warn] RSA server certificate CommonName (CN) server1.example.com'与服务器名称不匹配! [Thu Nov 24 11:40:14 2016] [notice] Apache / 2.2.3(Red Hat)configuration – 恢复正常运行[Thu Nov 24 11:49:47 2016] [notice]抓到SIGTERM,closures[Thu Nov 24 11月24日11:49:47 2016] [notice] suEXEC机制启用(包装:/ usr / sbin / suexec)[Thu Nov 24 11:49:47 2016] [notice] SSL FIPS mode disabled [Thu Nov 24 11:49 :RSA服务器证书是一个CA证书(BasicConstraints:CA == TRUE!?)[Thu Nov 24 11:49:47 2016] [警告] RSA服务器证书CommonName(CN) server1' does NOT match server name!? [Thu Nov 24 11:49:47 2016] [notice] Digest: generating secret for digest authentication ... [Thu Nov 24 11:49:47 2016] [notice] Digest: done [Thu Nov 24 11:49:47 2016] [notice] SSL FIPS mode disabled [Thu Nov 24 11:49:47 2016] [warn] RSA server certificate is a CA certificate (BasicConstraints: CA == TRUE !?) [Thu Nov 24 11:49:47 2016] [warn] RSA server certificate CommonName (CN) server1' does NOT match server name!? [Thu Nov 24 11:49:47 2016] [notice] Digest: generating secret for digest authentication ... [Thu Nov 24 11:49:47 2016] [notice] Digest: done [Thu Nov 24 11:49:47 2016] [notice] SSL FIPS mode disabled [Thu Nov 24 11:49:47 2016] [warn] RSA server certificate is a CA certificate (BasicConstraints: CA == TRUE !?) [Thu Nov 24 11:49:47 2016] [warn] RSA server certificate CommonName (CN) server1'与服务器名称不匹配! [Thu Nov 24 11:49:47 2016] [notice] Apache / 2.2.3(Red Hat)configuration – 恢复正常运行[Thu Nov 24 11:55:19 2016] [notice]抓到SIGTERM,closures[Thu Nov 24 11月24日11:55:20 2016] [notice] suEXEC启用机制(包装:/ usr / sbin / suexec)[Thu Nov 24 11:55:20 2016] [notice] SSL FIPS mode disabled [Thu Nov 24 11:55 :20 2016] [警告] RSA服务器证书CommonName(CN) server1.example.com' does NOT match server name!? [Thu Nov 24 11:55:20 2016] [notice] Digest: generating secret for digest authentication ... [Thu Nov 24 11:55:20 2016] [notice] Digest: done [Thu Nov 24 11:55:20 2016] [notice] SSL FIPS mode disabled [Thu Nov 24 11:55:20 2016] [warn] RSA server certificate CommonName (CN) server1.example.com' does NOT match server name!? [Thu Nov 24 11:55:20 2016] [notice] Digest: generating secret for digest authentication ... [Thu Nov 24 11:55:20 2016] [notice] Digest: done [Thu Nov 24 11:55:20 2016] [notice] SSL FIPS mode disabled [Thu Nov 24 11:55:20 2016] [warn] RSA server certificate CommonName (CN) server1.example.com'与服务器名称不匹配! [Thu Nov 24 11:55:20 2016] [notice] Apache / 2.2.3(Red Hat)configuration – 恢复正常运行

尝试

 <VirtualHost *:443> ServerName server1.example.com ServerAlias server1 SSLEngine on </VirtualHost> 

您希望VirtualHost语句中的通配符closures基于IP的虚拟主机映射。 http://httpd.apache.org/docs/2.4/vhosts/name-based.html


注意固定线( SSLEngine而不是SSSLEngine )。

 ServerName server1.example.com ServerAlias server1 

尝试将您的configuration更改为:

 NameVirtualHost *:443 Listen *:443 <VirtualHost *:443> ServerName server1.example.com ServerAlias server1 SSSLEngine on </VirtualHost> 

我倾向于避免在VirtualHost指令中使用主机名。 如果DNS或任何方面的主机名查找过程中断,无论是在您的服务器上,或在您的服务器指向/使用的DNS服务器,Apache无法确定server1.example.com初始启动时解决什么,它将不加载虚拟主机configuration。

其次, ServerName是出现在错误页面(404未find,500内部错误等)和您的网站的“主名称”的string,所以我倾向于使用ServerName的全限定主机名。 如果我需要通过更多的名称访问站点,我使用ServerAlias指令(可以有多行ServerAlias或每个ServerAlias行给出多个名称)添加这些(一个或多个)。

但是由于这是SSL,我高度怀疑你会发现通过server1访问时会发生证书不匹配,但是如果忽略浏览器安全警告,这应该仍然有效。