首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在本地访问TSL证书

如何在本地访问TSL证书
EN

Unix & Linux用户
提问于 2022-02-24 22:01:48
回答 1查看 51关注 0票数 0

我有一个由apache服务器使用的有效的letsencrypt证书。

代码语言:javascript
复制
<IfModule mod_ssl.c>
    <VirtualHost *:443>
        ServerName mydomain.com
        SSLCertificateFile /etc/letsencrypt/live/mydomain.com/fullchain.pem
        SSLCertificateKeyFile /etc/letsencrypt/live/mydomain.com/privkey.pem
        Include /etc/letsencrypt/options-ssl-apache.conf
    </VirtualHost>
</IfModule>

使用certbot自动更新此证书:

代码语言:javascript
复制
sudo ls /etc/letsencrypt/mydomain.com/live/ -al

lrwxrwxrwx 1 root root   41 Dec 31 08:46 fullchain.pem -> ../../archive/mydomain.com/fullchain8.pem
lrwxrwxrwx 1 root root   39 Dec 31 08:46 privkey.pem -> ../../archive/mydomain.com/privkey8.pem

Apache正在www-data用户帐户下运行。

代码语言:javascript
复制
www-data  6452  0.0  0.4 472056 41852 ?        S    01:44   0:11 /usr/sbin/apache2 -k start

我也有一个web套接字服务器,需要使用这个证书。当我使用www-data用户运行web套接字服务器时,我会得到以下错误:

RuntimeException:来自tcp://127.0.0.1:46714的连接在TLS握手期间失败:无法完成TLS握手: SSL_R_NO_SHARED_CIPHER:不能使用合适的共享密码。这可能是因为服务器缺少SSL证书(local_cert上下文选项).

这基本上意味着它无法访问证书。如果我将Fulchain8.pem和privkey8.pem文件复制到www-data可以访问错误更改的另一个位置(但这是另一个问题:)。

我知道将私钥文件复制到www-data可以访问的地方是个坏主意,我绝对不希望web套接字服务器以根权限运行。所以我的问题是,我如何访问证书?阿帕奇似乎知道该怎么做。

EN

回答 1

Unix & Linux用户

回答已采纳

发布于 2022-02-24 23:49:33

如果您运行ps auxw | grep httpd,您将看到,虽然大多数apache进程都属于www-data,但是有一个进程属于root。这是主进程(除其他外)在启动时读取证书。

此外,如果您查看/etc/letsencrypt/live目录,您将发现一个或多个指向文件实际所在位置的同步链接。这种复杂性的存在是有原因的。你真的不想改变周围的事情-你不想破坏certbot。

当你告诉我们很多关于网络服务器的信息时,你却没有告诉我们任何关于网络套接字服务器的信息。它可能有某种机制来避免这一问题。

您可以在certbot配置中添加一个部署钩子脚本,将证书和密钥从/etc/letsencrypt/live/mydomain.com/复制到具有不同权限的另一个位置(并重新启动websocket证书/向其发出信号以重新加载证书)。这可以在certbot命令行第一次创建证书时指定,也可以在以后手动添加到/etc/letsencrypt/续期/mydomain.com.conf中。

我自己也没试过,但我相信这只是.

代码语言:javascript
复制
deploy-hook = /usr/local/sbin/updatewebscoketserver

在文件的末尾,在[renewalparams]部分下面。

(你可以自己写剧本)。

您真的需要以与webserver相同的uid运行websocket服务器吗?

票数 1
EN
页面原文内容由Unix & Linux提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

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

复制
相关文章

相似问题

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