首页 > 其他分享 >Vue项目配置Https双向认证

Vue项目配置Https双向认证

时间:2023-07-13 22:35:33浏览次数:38  
标签:Vue key ssl ca 认证 pem fs Https server

访问双向认证的Https接口

本地运行设置

修改webpack配置

  js
const fs = require('fs')
const options = {  
    //客户端密钥
    key: fs.readFileSync(path.join(__dirname, '../ca/key.pem')),  
    //客户端公钥
    cert: fs.readFileSync(path.join(__dirname, '../ca/cert.pem')),  
    //颁证机构证书
    ca: fs.readFileSync(path.join(__dirname, '../ca/ca.pem')),  
    //删除后会验证域名  
    checkServerIdentity: () => { return null; },  
    requestCert: true,  
};
......
devServer: {
    proxy:{  
        'api':{  
            target: "https://xxx.xxx.xxx.xxx:xxxx",  
            changeOrigin:true,
            //使用证书访问接口
            agent: new https.Agent(options),
            secure: true,  
            pathRewrite:{  
              '^/api':''  
        }
    }
}

Nginx服务器设置

修改nginx.cnf

  cnf
server {
......

  location / {
      try_files $uri $uri/ index.html;
  }
  location /api {
    proxy_pass https://8.134.73.119:8088/;
    proxy_ssl_trusted_certificate /web_gantt/ca/ca.pem;
    proxy_ssl_certificate     /web_gantt/ca/cert.pem;
    proxy_ssl_certificate_key /web_gantt/ca/key.pem;
  }
}

认证浏览器证书

本地运行配置

修改webpack配置

  js
    /*---------添加https配置---------*/
    https: true,
    key: fs.readFileSync(path.join(__dirname, '../ca/server-key.pem')),
    cert: fs.readFileSync(path.join(__dirname, '../ca/server-cert.pem')),
    ca: fs.readFileSync(path.join(__dirname, '../ca/ca.pem')),
    requestCert: true,
    /*---------添加https配置---------*/

Nginx服务器设置

修改nginx.cnf

  cnf
......
  ssl                  on;
  ssl_certificate      /web_gantt/ca/server-cert.pem;  #server证书公钥
  ssl_certificate_key  /web_gantt/ca/server-key.pem;  #server私钥
  ssl_client_certificate /web_gantt/ca/ca.pem;  #根级证书公钥,用于验证各个二级client
  ssl_session_timeout 5m;
  ssl_protocols SSLv2 SSLv3 TLSv1 TLSv1.1 TLSv1.2; #按照这个协议配置
  ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:HIGH:!aNULL:!MD5:!RC4:!DHE; #按照这个套件配置
  ssl_prefer_server_ciphers on;
  ssl_verify_client on;  #开启客户端证书验证
......

标签:Vue,key,ssl,ca,认证,pem,fs,Https,server
From: https://www.cnblogs.com/gongxianjin/p/17552365.html

相关文章

  • vue配置https
    constpath=require('path');constfs=require('fs');consthttps=require('https');constoptions={key:fs.readFileSync(path.join(__dirname,'./ca/client.key')),cert:fs.readFileSync(path.join(__dirname,......
  • Vue基础
    创建实例<divid="app"><!--这里将来会编写一些用于渲染的代码逻辑-->{{msg}}</div><!--引入的是开发版本包,包含完整的注释和警告--><scriptsrc="https://cdn.jsdelivr.net/npm/[email protected]/dist/vue.js"></script><script>//一旦......
  • Vue3+Vue-Router+TypeScript+Vite+Element-Plus+Axios+Pinia快速搭建开发框架
    1、环境准备(1)首先你得需要安装node和npm2、环境初始化(1)先随意找个文件夹,初始化vite#安装pnpmnpmi-gpnpm#初始化vitepnpmcreatevite#安装依赖pnpminstall(2)最后我们执行pnpmrundev3、安装插件(1)Eslint校验代码工具安装eslint#安装eslint......
  • vue中视频播放组件的安装
    1.在terminal中输入cnpminstallvue-video-player2.安装完成后在main.js中进行配置 importVueCoreVideoPlayerfrom'vue-core-video-player'Vue.use(VueCoreVideoPlayer,{lang:'zh-CN'})3.后续即可正常使用......
  • 使用vue3、egg和SQLite开发通用管理后台系统
    使用vue3、egg和SQLite开发通用管理后台系统plaform是一个基于RBAC模型开发的后台管理系统,没有多余的功能。本项目是一个以学习为目的的后台项目,旨在让前端也能充分了解RBAC模型是如何设计的,不建议用于线上,因为未经过充分的测试。项目地址:https://github.com/essay-org/platform......
  • Vue3
    一、创建Vue3.0工程1.使用vue-cli创建官方文档:https://cli.vuejs.org/zh/guide/creating-a-project.html#vue-create##查看@vue/cli版本,确保@vue/cli版本在4.5.0以上vue--version##安装或者升级你的@vue/clinpminstall-g@vue/cli##创建vuecreatevue_test##......
  • vue 模拟滚动条循环滚动
    <template><el-cardclass="card-duty"><template#header><divclass="card-header"><span>重大警情</span></div></template>......
  • minio 配置https访问
    官网文档:https://docs.min.io/docs/how-to-secure-access-to-minio-server-with-tls.html在${HOME}.minio/certs文件夹下1、生成私钥opensslgenrsa-outprivate.key20482、生成自签名证书创建一个以openssl.conf以下内容命名的文件。设置IP.1和/或DNS.1指向正确的IP/DNS......
  • urllib默认只支持HTTP/HTTPS的GET和POST方法
    URL编码转换:urllib的urlencode()urllib和urllib2都是接受URL请求的相关模块,但是提供了不同的功能。两个最显著的不同如下:urllib模块仅可以接受URL,不能创建设置了headers的Request类实例;但是urllib提供 urlencode 方法用来产生GET查询字符串,而urllib2则没有。(这是urll......
  • HTTP/HTTPS一文搞懂
    HTTP协议(HyperTextTransferProtocol,超文本传输协议):是一种发布和接收HTML页面的方法。HTTPS(HypertextTransferProtocoloverSecureSocketLayer)简单讲是HTTP的安全版,在HTTP下加入SSL层。SSL(SecureSocketsLayer安全套接层)主要用于Web的安全传输协议,在传输层对网络连接进行......