首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Apache :服务器证书不包括与服务器名称匹配的ID

Apache :服务器证书不包括与服务器名称匹配的ID
EN

Unix & Linux用户
提问于 2017-04-10 11:21:46
回答 6查看 180.5K关注 0票数 34

我试图在我的apache2 set服务器上设置SSL,但它似乎根本不起作用。

我遵循了使用openssl创建证书文件的教程,并正确配置了/etc/apache2/sites-available/default-ssl.conf

每次我尝试用https打开我的网站时,我的浏览器都会因为安全问题而拒绝连接。它说我没有正确配置我的网站。

在我的/var/log/apache2/error.log中,我收到警告,警告说我的服务器证书不包含与服务器名称匹配的ID。

代码语言:javascript
复制
[Mon Apr 10 11:03:24.041813 2017] [mpm_prefork:notice] [pid 1222] AH00169: caught SIGTERM, shutting down
[Mon Apr 10 11:03:30.566578 2017] [ssl:warn] [pid 661] AH01909: 127.0.0.1:443:0 server certificate does NOT include an ID which matches the server name
[Mon Apr 10 11:03:31.579088 2017] [ssl:warn] [pid 1194] AH01909: 127.0.0.1:443:0 server certificate does NOT include an ID which matches the server name
[Mon Apr 10 11:03:31.592958 2017] [mpm_prefork:notice] [pid 1194] AH00163: Apache/2.4.25 (Raspbian) OpenSSL/1.0.2k configured -- resuming normal operations
[Mon Apr 10 11:03:31.593136 2017] [core:notice] [pid 1194] AH00094: Command line: '/usr/sbin/apache2'

你对如何解决这个问题有什么想法吗?谢谢你!

EN

回答 6

Unix & Linux用户

回答已采纳

发布于 2017-07-03 08:40:34

好吧,我注意到这篇文章最近经常被浏览,所以看起来很多人都面临着和我一样的问题。如果是这样的话,这可能会对你有帮助。

我遵循了一个简单的一步一步的教程,为我的SSL服务器创建了SSL认证。和许多教程一样,我遵循的教程的结果是使用OpenSSL编写了一个自签名证书。是的,自我签名,这就是问题所在。浏览器无法信任服务器,因为它的证书是由自己签名的。我也不会这么做..。

证书必须由外部可信证书颁发机构(CA)签名。因此,我偶然发现,让我们加密,它为您做所有的工作,甚至更容易设置,最好的是:它是绝对免费的。

安装

1)删除使用OpenSSL创建的旧ssl证书文件

2)打开后台以获取Debian上的certbot客户端。你应该知道,这将为未完成的软件打开一个洞!只有当你知道你在做什么时,才安装这些软件包。

代码语言:javascript
复制
echo 'deb http://ftp.debian.org/debian jessie-backports main' | sudo tee /etc/apt/sources.list.d/backports.list

3)更新linux系统

代码语言:javascript
复制
sudo apt-get update

4)安装certbot

代码语言:javascript
复制
sudo apt-get install python-certbot-apache -t jessie-backports

5)设置apache ServerName和ServerAlias

代码语言:javascript
复制
sudo nano /etc/apache2/sites-available/000-default.conf

6)编辑apache配置文件

代码语言:javascript
复制
<VirtualHost *:80>
    . . .
    ServerName example.com
    ServerAlias www.example.com
    . . .
</VirtualHost>

7)检查语法是否正确

代码语言:javascript
复制
sudo apache2ctl configtest

8)如果配置文件看起来很好,请重新启动apache服务器

代码语言:javascript
复制
sudo systemctl restart apache2

9)使用certbot设置证书并按照屏幕上的指示操作。

代码语言:javascript
复制
sudo certbot --apache

更新

我们加密的所有证书在3个月内都是有效的。若要更新可以手动运行的

代码语言:javascript
复制
sudo certbot renew

或将此服务自动化为cron作业。

代码语言:javascript
复制
sudo crontab -e

然后进入下一行,每周一凌晨2:30调用更新。

代码语言:javascript
复制
. . .
30 2 * * 1 /usr/bin/certbot renew >> /var/log/le-renew.log

您可以在这里学习更多的脱尾教程:https://www.digitalocean.com/community/tutorials/how-to-secure-apache-with-let-s-encrypt-on-debian-8

票数 14
EN

Unix & Linux用户

发布于 2017-10-04 19:57:18

如果您没有看到其他SSL错误,如果您尝试在LogLevel文件中设置‘httpd.conf调试’,则此错误消息还会提示httpd.conf文件中缺少'Listen 443‘。

票数 4
EN

Unix & Linux用户

发布于 2020-01-22 22:42:48

我在CENTOS 8上找到了一个适用于我的SSL解决方案。

  1. 开放nano /etc/httpd/conf.d/ssl.conf
  2. ssl.conf文件中添加ssl
  3. 完成
代码语言:javascript
复制
SSLCertificateFile /etc/letsencrypt/live/radiolatina.ru/fullchain.pem 

SSLCertificateKeyFile /etc/letsencrypt/live/radiolatina.ru/privkey.pem 
票数 1
EN
页面原文内容由Unix & Linux提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://unix.stackexchange.com/questions/358089

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档