• Eginx配置(SSL,令牌登录认证,IP白名单,代理转发)


    一般需要对接银行的接口,都需要用前置机,在前置机上安装银行的客户端(CBS)。我们接口调用的实际是前置机上的http服务。

    为了数据安全,一般会把前置机的网络和服务器的网络处理成同一个内网,防止数据被抓。

    有的CBS的http服务可能支持https协议,为了通讯数据安全,那我们就需要在前置机上用一个代理服务器(使用https)来代理转发CBS的http服务。

    这样,服务器与前置机之间的通信就是https协议了。

    server {
            #代理服务的端口(8888)一般使用443端口
            listen        8888 ssl;
            #证书文件
            ssl_certificate D:/phpstudy_pro/Extensions/Nginx1.16.1/conf/ssl/anju-cbs.com.pem;
            #密钥文件
            ssl_certificate_key D:/phpstudy_pro/Extensions/Nginx1.16.1/conf/ssl/anju-cbs.com.key;
            ssl_session_timeout 5m;
            ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4;
            ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
            ssl_prefer_server_ciphers on;
            server_name  anju-cbs.com;
            root   "D:/phpstudy_pro/WWW/anju-cbs.com";

            #用户密码认证(basic_auth)
            auth_basic    "authName";
            auth_basic_user_file    E:/rsa/cmbcbs/product/auth_pwd;

            location / {
                    #IP白名单设置(租赁系统服务器内网IP)
                    allow 127.0.0.1; #这个是本地IP,用于本地验证,验证完可删掉
                    allow 172.xxx.xxx.xxx;
                    deny all;
        #代理转发到端口(银行跳板机)
                    proxy_pass http://127.0.0.1:6666;
            }
    }

    Ps:用户密码认证文件可以手动创建:新建一个不带后缀的文件里面的内容为用户名:密码(如:userName123:PWD@Abc123456),请求接口时带上curl_setopt($ch, CURLOPT_USERPWD, "userName123:PWD@Abc123456"); curl_setopt($ch,CURLOPT_HEADER, true);

  • 相关阅读:
    Flink Transformation
    王熙凤穿越到 2022 年,一定会采购的单点登录服务
    GaussDB(DWS)基于Flink的实时数仓构建
    web组态(BY组态)接入流程
    Nacos学习笔记
    Docker0网络及原理探究
    Kafka - This server does not host this topic-partition
    做地推共享wifi贴的如今都怎么样了?
    自建or用SaaS|ToB企业如何玩转官网数字化改造
    【Python项目】过马路游戏
  • 原文地址:https://blog.csdn.net/Lindong_Jen/article/details/125991309