如何处理需要 Intranet 中安全上下文的 Web 应用程序?

bru*_*obg 6 security ssl web-applications secure-context

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

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

有哪些替代方案可以获得尽可能无摩擦的安全环境?

Bor*_*ich 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%
Run Code Online (Sandbox Code Playgroud)

如果你想让这个应用程序有一个完全不同的 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

Run Code Online (Sandbox Code Playgroud)