内网vue项目,改为https协议请求

这篇具有很好参考价值的文章主要介绍了内网vue项目,改为https协议请求。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

背景:vue项目需通过navigator.mediaDevices来获取摄像头,但由于浏览器的安全策略导致navigator获取不到mediaDevices实例,目前经尝试,只有以下几种情况navigator.mediaDevices能正常使用:

① 地址为localhost:// 访问时

② 地址为https:// 时

③ 为文件访问file:/

显然,方式②更为可取,http协议改为https协议,流程入下:

① 首先,我采用的vue版本如下:

vue项目升级https,vue.js,https,前端,Powered by 金山文档
  1. 修改build目录下的webpack.dev.conf.js文件,在devServer中添加http: true

devServer: {
  clientLogLevel: 'warning',
  historyApiFallback: {
    rewrites: [
      { from: /.*/, to: path.posix.join(config.dev.assetsPublicPath, 'index.html') },
    ],
  },
  hot: true,
  contentBase: false, // since we use CopyWebpackPlugin.
  compress: true,
  host: HOST || config.dev.host,
  port: PORT || config.dev.port,
  open: config.dev.autoOpenBrowser,
  overlay: config.dev.errorOverlay
    ? { warnings: false, errors: true }
    : false,
  publicPath: config.dev.assetsPublicPath,
  proxy: config.dev.proxyTable,
  quiet: true, // necessary for FriendlyErrorsPlugin
  watchOptions: {
    poll: config.dev.poll,
  },
  https: true
},
  1. 在index.html文件中添加

<meta http-equiv="Content-Security-Policy" content="upgrade-insecure-requests">
  1. nginx配置SSL证书(可在nginx安装目录下的conf文件下新建SSL文件夹)

① 第一步,创建服务器私钥:

openssl genrsa -des3 -out server.key 2048  

② 第二步,创建CSR证书请求文件:

req -new -key server.key -out server.csr 

(会要求填一些信息,其中Country Name可以填CN,其他可填可不填)

③ 第三步,备份有秘密的私钥文件:

copy server.key server.key.orig  

④ 第四步,去掉私钥文件的密码:

openssl rsa -in server.key -out server.key  

⑤ 第五步,使用服务器私钥签署服务器公钥证书:

openssl x509 -req -days 3650 -in server.csr -signkey server.key -out server.crt    

命令完成后,将会看到SSL文件下有如下文件

vue项目升级https,vue.js,https,前端,Powered by 金山文档
  1. 部署自签证书到nginx服务器,即在文件nginx.conf文件末尾追加https服务器配置

server {
  listen       53000 ssl;
  server_name  localhost;
 
  ssl_certificate      ssl/server.crt;
  ssl_certificate_key  ssl/server.key;
 
   ssl_protocols    TLSv1 TLSv1.1 TLSv1.2;
   ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:HIGH:!aNULL:!MD5:!RC4:!DHE;
   ssl_prefer_server_ciphers on;
   ssl_session_cache  shared:SSL:10m;
   ssl_session_timeout 10m;
		
   location / {
      root   html53000;
      index  index.html index.htm;
      try_files $uri $uri/ /index.html;
    }      
}

⑦重启nginx,然后在浏览器输入https://192.168.1.244:53000看效果

nginx -s reload

参考链接:https://www.cnblogs.com/lasding/p/16924679.html文章来源地址https://www.toymoban.com/news/detail-597342.html

到了这里,关于内网vue项目,改为https协议请求的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • vue项目的vue.config.js在打包过程中,并不会处理api请求。

    主要处理打包选项和静态资源文件 请求是axios处理的  

    2024年02月16日
    浏览(37)
  • 【前端】vue.js从入门到项目实战笔记

    【前端目录贴】 文本插值中的代码被解释为节点的文本内容,而HTML插值中的代码则被渲染为视图节点。 3.1.1 文本插值 文本插值的方式:用 双大括号 将要绑定的变量、值、表达式括住就可以实现,Vue将会 获取计算后的值 ,并以 文本的形式 将其展示出来。 结果: 3.1.2 HTM

    2024年01月21日
    浏览(39)
  • 已配置vue.config.js中的proxy代理,前端本地环境仍然请求后端出现跨域报错

    已配置vue.config.js中的proxy代理,前端本地环境仍然请求后端出现跨域报错 已配置vue.config.js中的proxy代理,前端本地环境仍然请求后端出现跨域报错 控制台仍然出现cors禁止报错,接口调不通 配置proxy代理解决跨域问题的原理是: 前端工程本地环境会启动一个 express 或 koa 的

    2024年02月01日
    浏览(49)
  • 内网环境下nginx使用自签名ssl证书配置https请求

    一、安装Openssl nginx有openssl 命令,没有的自行百度,我配置的nginx是存在的所以没查这部分 二、生成密钥 可以在本地生成然后把文件拷贝到服务器,也可以直接在服务器指定目录生成,我选择的后者。 应该是哪个目录都可以,只要在nginx.conf文件中引入正确地址就可以 我的配

    2024年01月21日
    浏览(41)
  • Nginx接收Http协议请求转发使用Https协议

    公司使用阿里的apigateway,规定不太友好,同是SIT环境,A系统的SIT1环境居然不能调用B系统的SIT2环境的接口。因为各个系统之间部署的SIT环境数量不同A系统可能只有1套,B系统可能有8套,这样的话,可能会随时切换调用B系统的环境,管理员不允许,于是想着用Nginx做下转发。

    2024年02月08日
    浏览(51)
  • 用Nginx将前端Vue项目部署到云服务器(含代理实现请求跨域)

    记录使用Nginx将 纯前端 的Vue3项目部署到阿里云服务器(Ubuntu 22.04)上,包含通过Nginx代理实现 跨域请求 、以及个人踩坑记录~ 执行下列命令安装: 安装完成后查看nignx版本,显示版本信息则说明安装成果 启动nginx,如正确启动,则不会出现任何提示信息。 nginx启动成功后打

    2024年04月12日
    浏览(36)
  • 通过nginx将https协议反向代理到http协议请求上

    目前一个系统仅支持https协议访问,因后端服务基于ssl协议,前端在请求是也需要支持ssl协议的https请求来访问。目前的代理服务器是nginx,现在想要 通过http访问系统 ,需通过nginx的 反向代理 或者 重定向方式 将https请求代理为http请求。可实现的做法有如下几种: 1、使后端

    2024年02月08日
    浏览(33)
  • Vue.js 3 项目开发:迈向现代化前端开发的必经之路

    随着前端技术的不断发展,Vue.js作为一种轻量级的JavaScript框架,已经逐渐成为了前端开发者的首选。Vue.js 3有哪些新特性、优势以及如何高效地进行项目开发呢? Vue.js是一种用于构建用户界面的渐进式框架。它的核心库专注于视图层,易于与其他库或现有项目集成。Vue.js 3是

    2024年01月23日
    浏览(40)
  • 前端vue项目使用Decimal.js做加减乘除求余运算

    运算结果是Decimal对象,需要使用.toNumber()转为数字

    2024年04月13日
    浏览(42)
  • vue报错:Uncaught SyntaxError: Unexpected token <;也就是前端的js请求响应数据是html格式的原因和解决方法

    “Uncaught SyntaxError: Unexpected token lt;” 错误通常出现在浏览器的开发者工具(console)中,它表示在解析 JavaScript 代码时遇到了意外的 字符。这个错误通常是由以下几种情况引起的: 代码中的 被错误地识别为 HTML 标签的开始:这通常发生在在引用外部 JavaScript 文件时,浏览器

    2024年02月07日
    浏览(33)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包