https - 如何在没有 SSL 管理器插件的情况下使用 HTTP Sender 提交客户端证书?
问题描述
我们有一个 Mirth 服务器,它不在支持合同下,它需要POST
客户端证书认证的 HTTPs 服务。由于证书是自签名的,因此添加它appdata\keystore.jks
似乎不起作用。
如何在不花大价钱的情况下为 HTTP Sender 目的地明确指定客户端证书?
解决方案
创建一个 nginx 反向代理。这样,Mirth 只需在 HTTP 上连接 - nginx 提交客户端证书。
对于窗户:
- 解压nginx
- 更新 conf\nginx.conf
- 设置为使用 nssm 作为服务启动
nginx.conf
为了简单起见,我将其替换为以下内容,仅在http://127.0.0.1:8106/上收听:
worker_processes 1;
events {
worker_connections 1024;
}
http {
include mime.types;
default_type application/octet-stream;
server {
listen 127.0.0.1:8106;
server_name localhost;
location / {
proxy_pass https://upstream-server;
# To generate a key&crt from pfx:
# openssl pkcs12 -in client-certificate.pfx -nocerts -out client-certificate.key -nodes
# openssl pkcs12 -in client-certificate.pfx -clcerts -nokeys -out client-certificate.crt
proxy_ssl_certificate "C:/path/to/nginx-1.15.3/conf/client-certificate.crt";
proxy_ssl_certificate_key "C:/path/to/nginx-1.15.3/conf/client-certificate.key";
}
}
}
推荐阅读
- google-api - 带有 dart 的 Google 认证 HTTP 客户端
- c# - 函数签名中的 [] 在 C# 中的作用
- wordpress - Gutenberg ServerSideRender 回调
- c# - 如何正确链接已安装的 Web 应用程序名称及其虚拟目录名称?
- email - 使用 openssl 签署多部分/混合电子邮件
- node.js - 在 hapi 17 中捕获插件问题
- mysql - 基于多个条件的 mySQL ORDER
- angularjs - 服务器无法识别 mondodb 模块 whit angular
- c++ - 为什么忽略模板化的复制构造函数?
- r - 如何有效地将函数应用于多个矩阵 - 列的平均值