3

我有一个 Web 应用程序,供客户在 Intranet 中使用。它使用需要安全上下文的功能,例如getUserMedia. 这些天的最佳做法是什么?

客户几乎没有技术知识,应用程序可能只是路过的人使用,因此在浏览器上创建和安装证书颁发机构太麻烦了。尽管在安装过程中需要它是可以接受的,但不能保证始终有 Internet 连接。TLS 证书的警告消息是可以接受的(不理想,但可以解释),但自签名证书并不能解决问题,因为它们仍然被认为是不安全的上下文。我无法控制 Intranet,运行服务的设备只能通过 IP 访问,无需主机名或本地 DNS 服务器。

有哪些替代方法可以获得尽可能无摩擦的安全上下文?

4

1 回答 1

0

基于 Chrome 88 的解决方案不保证早期和更高版本。

服务器:IP 或 DNS 不能访问任何特殊内容

客户端:

  1. 批处理文件将成为用户桌面上的快捷方式,并在 chrome 中作为应用程序启动 Web 应用程序 - 单独的窗口。

的用途start "WEB APP" /MAX ...是确保批处理文件的cmd窗口尽快消失。

@Echo off 

set WEB_APP_URL=http://app.ip.or.dns

start "WEB APP" /MAX "C:\Program Files\Google\Chrome\Application\chrome.exe" --ignore-certificate-errors --unsafely-treat-insecure-origin-as-secure=%WEB_APP_URL%  --allow-running-insecure-content --ignore-certificate-errors --app=%WEB_APP_URL%

如果你想让这个应用程序完全不同的 chrome 配置文件添加这个

set COMMON_USER_DATA_DIR=C:\\Users\\Public\\YOUR_APP\\

--user-data-dir=%COMMON_USER_DATA_DIR% --profile-directory=Default --allow-profiles-outside-user-dir

于 2021-02-15T21:17:33.330 回答