由于java本身的API不支持国密证书,通过nginx监听本地解决

背景原因与解决方式

由于JAVA 的 API 不支持 国密证书,所以直接在JAVA代码中调用HTTPS请求,指挥中心无法收到请求。所以可以通过反向代理监听本地端口,通过脚本携带国密证书,把request 打到指挥中心。

shell脚本配置

nginx配置脚本

(```)
server {
listen 你的端口号;
server_name localhost; //

#charset koi8-r;

access_log /opt/pylon/nginx/logs/localhost.20731.access.log main; // 这里可以设置自己的日志
error_log /opt/pylon/nginx/logs/localhost.20731.error.log; // 这里可以设置错误的日志
location / {
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For KaTeX parse error: Double subscript at position 12: proxy_add_x_̲forwarded_for; …request_uri; //真实的服务端的地址 ,$request_uri这个可以是你具体的接口名
}
}
(```)

PS:如果要做到实时更改服务端的地址,可以加一个刷新的脚本,在代码里加入执行刷新脚本的命令,当触发命令的时候进行刷新脚本,更改上面脚本里的 真实服务端的地址。

刷新脚本

#!/usr/bin/env bash

set -e

Usage: refresh_dock_proxy [ip] [port]

(```)
dock_ip=$1
dock_port=$2

tassl_nginx_dock_conf_tmpl="/opt/pylon/nginx/conf/conf.d/dock.proxy.conf.offline" //这里写你的nginx脚本的地址
tassl_nginx_dock_conf="/opt/pylon/nginx/conf/conf.d/dock.proxy.conf" //这里写你的nginx脚本的地址

if [ -z “ d o c k i p " ] ∣ ∣ [ − z " {dock_ip}" ] || [ -z " dockip"][z"{dock_port}” ]; then
echo “Usage: refresh_dock_proxy [ip] [port]” >&2
exit 1
fi

if [ ! -f “ t a s s l n g i n x d o c k c o n f t m p l " ] ; t h e n e c h o " E R R O R : d o c k e r p r o x y c o n f n o t f o u n d [ {tassl_nginx_dock_conf_tmpl}" ]; then echo "ERROR: docker proxy conf not found [ tasslnginxdockconftmpl"];thenecho"ERROR:dockerproxyconfnotfound[{tassl_nginx_dock_conf_tmpl}]” >&2
exit 1
fi

generate tassl-nginx dock proxy conf

sed -E “/proxy_pass/ s#[0-9]+.[0-9]+.[0-9]+.[0-9]+:[0-9]+# d o c k i p : {dock_ip}: dockip:{dock_port}#g” ${tassl_nginx_dock_conf_tmpl} > ${tassl_nginx_dock_conf}

check tassl-nginx config

export LD_LIBRARY_PATH=/opt/pylon/tassl/lib:$LD_LIBRARY_PATH
/opt/pylon/nginx/sbin/nginx -t -c /opt/pylon/nginx/conf/nginx.conf

reload tassl-nginx

systemctl reload tassl-nginx //重启nginx服务

(```)

刷新脚本命令 sudo refresh_dock_proxy [ip] [port] ----- refresh_dock_proxy 是你脚本的名字,当然,你要把你写好执行刷新命令的脚本

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值