• 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);

  • 相关阅读:
    aarch64 gcc 10.3.1 源码编译 qemu-4.2.0
    C专家编程 第6章 运行的诗章:运行时数据结构 6.13 只适用于高级学员阅读的材料
    思维+启发式合并
    vue2中的mixins和vue3中的hooks
    【Android】View 与 ViewGroup
    Google身份验证器Google Authenticator的java服务端实现
    求字符串函数和长度不受限制的字符串函数的详解
    郑渝高铁有多牛?拿下多个“中国第一”
    排序2:直接选择排序、堆排序、直接插入排序、希尔排序
    可视化经典模型的对比实验总结
  • 原文地址:https://blog.csdn.net/Lindong_Jen/article/details/125991309