首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何使用Nginx为不同的位置启用不同的SSL证书?

问如何使用Nginx为不同的位置启用不同的SSL证书?
EN

Stack Overflow用户
提问于 2018-07-24 10:58:13
回答 1查看 433关注 0票数 2

假设我只有一个域名"example.com“。我想在访问https://example.com/api/A时使用A.crt启用SSL证书,在访问https://example.com/api/B时使用B.crt启用SSL证书。如何通过Nginx配置实现这一点?谢谢。

EN

回答 1

Stack Overflow用户

发布于 2021-07-09 00:16:10

对每个证书使用专用服务器块,如下所示:

代码语言:javascript
复制
server {
 listen 443 ssl;
 server_name apiA; ...
 ssl_certificate /etc/ssl/certs/A-ss.crt;
 ssl_certificate_key /etc/ssl/private/A-ss.key;
 ssl_client_certificate /etc/ssl/certs/A.crt;
 ssl_verify_client on;
 ssl_verify_depth 2; ...
 location /api/A/ { ... }
 }

server {
 listen 443 ssl;
 server_name apiB; ...
 ssl_certificate /etc/ssl/certs/B-ss.crt;
 ssl_certificate_key /etc/ssl/private/B-ss.key;
 ssl_client_certificate /etc/ssl/certs/B.crt;
 ssl_verify_client on;
 ssl_verify_depth 2;  ...
 location /api/B/ { ... }
 }

其中,每个TLS证书-密钥对*-ss.crt、*-ss.key属于它所服务的子域,如在它的“公用名”字段中设置的。

此解决方案以使用子域为代价提供独立的TLS连接。

使用指向不同主机名的URL发送请求,但是使用代理或/etc/hosts (或curl中的--resolve选项)将请求重定向到公共IP地址。

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

https://stackoverflow.com/questions/51489842

复制
相关文章

相似问题

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