编程技术分享平台

网站首页 > 技术教程 正文

Nginx反向代理HTTPS到公网(nginx反向代理香港)

xnh888 2024-09-22 17:21:21 技术教程 27 ℃ 0 评论

分享一个用Nginx反向代理到公网的例子.

近日有个新的客户需求,需要我们CRM系统提供些服务和其他三家运行商系统通过公网互相调用,我们需要依次调用三家运行商的同一个业务接口.经过尝试,总结,测试后,调用方案如下

调用外围运营商系统接口

服务说明

Server: 内网业务服务,微服务容器.

Proxy:代理服务,这里的每个微服务是个空壳,实际调用会要把请求转送到配置的地址上.

调用过程

1.外围运营商的服务(共9个,每个运营商提供三个接口,两个token,一个业务)注册在Proxy主机服务上,用不同的服务名称.每个服务配置对应的Nginx上的服务地址,例如:

ServiceA:https://192.168.23.5:8443/digi/v1/deviceverifly

ServiceB:https://192.168.23.5.8443/celcom/v1/deviceverifly

2.在Nginx上配置自己创建的SSL证书

2.内网业务服务Server遇到需要调用以上9个服务时会自动路由调用到Proxy服务的ServiceA或ServiceB.

3.Proxy上的ServiceA会转发请求到https://192.168.23.5:8443/digi/v1/deviceverifly,或https://192.168.23.5:8443/celcom/v1/deviceverifly

4.nginx接收到请求,再次中转到https://digi.com/v1/deviceverifly,或https://celcom.com/v1/deviceverifly

Proxy到Nginx是同一个地址不同的context,Nginx到公网是不同的域名,相同的context

Nginx的配置引用网络上的资料:

https://www.cnblogs.com/heartlifes/articles/6970858.html

https://www.cnblogs.com/jingxiaoniu/p/6745254.html

Nginx配置

server {

listen 8443 ssl;

server_name localhost;

ssl_certificate /home/aitasksit/nginx/sbin/server.crt;

ssl_certificate_key /home/aitasksit/nginx/sbin/server.key;

ssl_session_timeout 5m;

ssl_protocols SSLv2 SSLv3 TLSv1;

ssl_ciphers ALL:!ADH:!EXPORT56:RC4+RSA:+HIGH:+MEDIUM:+LOW:+SSLv2:+EXP;

ssl_prefer_server_ciphers on;

location /Digi/ {

proxy_redirect off;

proxy_pass https://digi.com/;

}

location /celcom/ {

proxy_redirect off;

proxy_pass https://celcom/;

}

}

本文暂时没有评论,来添加一个吧(●'◡'●)

欢迎 发表评论:

最近发表
标签列表