我正在尝试让 https 在我的 Vite 本地主机环境中工作。Chrome 显示无效证书错误。
我已经像这样设置了 vite.config.js 文件:
import { defineConfig } from 'vite'
import vue from '@vitejs/plugin-vue'
import fs from 'fs';
export default defineConfig({
resolve: { alias: { '@': '/src' } },
plugins: [vue()],
https: {
key: fs.readFileSync('RootCA-key.pem'),
cert: fs.readFileSync('RootCA.pem')
}
})
Run Code Online (Sandbox Code Playgroud)
当我运行它时npm run dev -- --https,它按预期工作,我没有从 Vite 收到任何问题。但是,Chrome 显示无效证书。
我使用 openssl 创建证书文件,这给了我 .crt、.pem 和 .key 文件。它们都不是二进制的,因此我将 .key 文件重命名为 RootCA-key.pem。我尝试使用 RootCA.pem 文件作为证书,并将 RootCA.crt 文件重命名为 RootCA-cert.pem 并将其用作证书。
作为临时解决方法,我在 Chrome 中启用了不安全的本地主机 (chrome://flags/#allow-insecure-localhost),这至少消除了警告。
当网站是http时,有没有办法使用chrome访问麦克风和摄像头?
我尝试启用“不安全的来源被视为安全”标志,但是当浏览器关闭并再次打开时,此标志中使用的域消失了,我必须重新输入并重新启用它。
我还尝试使用“--unsafely-treat-insecure-origin-as-secure= http://example.com ”参数启动 chrome ,但是当使用它时,Chrome 上会出现一条消息说
您正在使用不受支持的命令行标志:--unsafely-treat-insecure-origin-as-secure= http://example.com。稳定性和安全性将受到影响
我不希望出现该消息,因此我也无法使用此技术。
有没有其他方法可以在不收到任何警告的情况下访问麦克风和摄像头?(我正在使用 WebRTC 访问设备)。