Web 界面首选项

激活 VRED Professional 内部 Web 服务器并在必要时启用调试模式。通过激活 Web 服务器,可以执行远程 Python 命令。建议使用本地防火墙。

在菜单栏中,单击“编辑”>“首选项”,然后在对话框的左侧选择“常规设置”>“Web 界面”。进行任何更改后,按“应用”和“保存”以保存它们。

基础

  • 启用 Web 服务器 - 用于实现执行远程 Python 命令。选择此项后,以下选项可用。

  • 端口 - 仅适用于启用了“启用 Web 服务器”的情况。显示服务器端口。这是处理 SSL 和非 SSL 请求的地方。

  • 仅加密的 HTTPS - 仅适用于启用了“启用 Web 服务器”的情况。启用(拒绝)或禁用(允许)未加密的连接请求。

    重要信息:

    可以使用系统变量 VRED_FORCE_HTTPS 启用或禁用此选项。它确定接受还是拒绝未加密的通信请求。设置环境变量后,界面中的“仅加密的 HTTPS”将灰显。

    启用 VRED_FORCE_HTTPS 后,VRED 将拒绝未加密的连接请求,从而阻止记录 Web 浏览器与 VRED 之间的通信。

    注意:

    现有配置(在 2024 版之前创建)不会更改;但新配置将仅接受 https,除非此选项处于禁用状态。

  • 安全的 Python - 仅适用于启用了“启用 Web 服务器”的情况。启用后,允许从远程位置执行 Python 命令。

  • 启用调试模式 - 仅适用于启用了“启用 Web 服务器”的情况。在 VRED 终端中启用增强日志记录。

  • 启用关键事件 - 仅适用于启用了“启用 Web 服务器”的情况。允许对 Streaming App 使用键盘。这样就可以输入键盘快捷键进行导航,例如切换摄影机模式等。

    注意:

    也可以通过 Python 完成此操作,仅使用 Key_AKey_Z 键和 Key_0Key_9 键。有关相应键的列表,请参见 Python v1 变量vrController 部分。

    以下脚本演示了如何在 Python 脚本中绑定这些键。

    keyA = vrKey(Key_A)
    keyA.connect("print(\"Key_A pressed\")")
    
    keyF = vrKey(Key_F)
    keyF.connect("toggleFullscreen(0, 0)")

  • 证书文件 - 仅适用于启用了“启用 Web 服务器”的情况。生成自签名证书。您需要定义要使用的证书,然后定义浏览器信任的证书。这是使用自签名证书完成的。在 Windows 证书信任存储中安装此证书,以避免出现有关不受信任的证书无效的浏览器警告。

    选择证书文件 选择证书文件 - 定义使用的证书。

    创建自签名证书 创建自签名证书 - 打开“创建自签名证书”对话框,创建自签名的 VRED 证书,以便对单个 VRED Web 服务器实例进行签名。

    证书信息 证书信息 - 打开“证书信息”对话框,并提供有关证书的信息(例如版本、序列号和有效性)。

自定义 Web 根目录

这些选项用于启用和设置自定义 Web 根目录。如果您使用嵌入的 VRED Stream(例如可从任何设备通过 Web 浏览器访问的 VREDStreamApp)编写自己的 Web 应用程序,请将自定义网页存储在本地文件位置。在目录中定义此项,以便 VRED Web 服务器可以执行网页。

注意:

自定义 HTML 不应称为 index.html,因为它已用于我们的 VRED 中心页面。在首选项中将目录设置为自定义页面后(例如 MyIndex.html),可使用以下 URL 从任何设备访问该页面:http://hostname:8888/MyIndex.html

我们还为 VRED Stream 添加了新的 URL 属性,现在可以直接在 URL 中设置全屏、禁用键盘输入以及禁用导航。

  • 启用文件访问 - 启用对目录选项中指定的自定义 Web 根目录的文件访问。

  • 目录 - 仅当启用了“启用文件访问”时可用。指定用于访问文件的 Web 根目录。

    选择 Web 根目录 选择 Web 根目录 - 定义使用的 Web 根目录。

主机访问

这些选项设置 Web 浏览器将信任的源。

  • 限制 - 确定 Web 浏览器将信任哪些源是否有限制。

    • 无限制 - 不施加任何限制。Web 浏览器信任所有源。
    • 本地主机 - 拒绝访问本地主机以外的所有其他主机。Web 浏览器仅信任本地主机。
    • 主机列表 - 用于允许输入主机名。Web 浏览器将信任来自所列主机之一的任何源。

  • 主机列表 - 将“限制”设置为“主机列表”后,将启用“主机列表”字段,您可以在其中输入 Web 浏览器将信任的主机。使用快捷菜单修改列表。

身份验证

添加一层额外的安全保护,但要求用户登录并输入密码。

  • 身份验证模式 - 如果您不想对 Web 服务器进行任何身份验证,请选择“无身份验证”。要设置用户和密码并添加另一层安全性,请选择“使用用户名和密码登录”。使用此字段下方的按钮添加或删除用户,以及更改密码。

如何生成自签名证书

VRED 已添加自签名 VRED 证书颁发机构。使用此证书可对单个 VRED Web 服务器实例进行签名。您将需要创建证书,定义访问权限,并根据需要设置身份验证。

创建自签名证书

  1. 选择“编辑”>“首选项”>“常规设置”>“Web 界面”。

  2. 在“证书文件”旁边,单击 选择证书文件 以定义要使用的证书。

  3. 单击 创建自签名证书(“创建自签名证书”按钮)以创建证书,为证书输入唯一名称,然后单击“保存”。

  4. 在“主机访问”部分的限制中,设置 Web 浏览器将信任的源。

  5. 在“身份验证”部分中,将身份验证模式更改为“使用用户名和密码登录”。

  6. 单击“添加”按钮,然后添加用户名和密码。

  7. 单击“应用”和“保存”。新用户将显示在“用户”部分中。

    用户

跨域资源共享 (CORS)

利用此功能,VRED 上运行的 Web 应用程序可访问来自其他网站的内容以执行某些操作,例如播放 YouTube 视频。

Web 界面首选项中的 CORS

  • 启用跨域请求 - 支持从提供第一个资源的域之外的另一个域请求网页上的资源。

  • 允许的域 - 仅当启用了“启用跨域请求”时可用。输入要通过跨域请求共享在 Web 界面中显示的 URL 域。使用快捷菜单修改允许的原点列表。

适用于 VREDServer 的跨域资源共享 (CORS)

在某些请求中,也为 VREDServer 实现了跨域资源共享 (CORS)。

  • CORS 的 HTTP 标头 - 下面是跨域请求共享的 HTTP 标头:

预检 (OPTIONS)

Access-Control-Allow-Origin:*

Access-Control-Allow-Methods:GET,HEAD,PUT,PATCH,POST,DELETE

Access-Control-Allow-Headers:content-type

实际请求 (GET)

Access-Control-Allow-Origin:*

工作原理

如果主机或端口与运行当前网站/Web 应用程序的主机或端口不同,并且 Web 应用程序尝试通过 JavaScript 向后一种情况的主机发送请求,该主机将同意该请求。否则,浏览器将不发送请求。

  1. 浏览器在预检请求中通过 HTTP 方法 OPTIONS 查询不同的主机或端口(如果该主机同意)。如果响应中包含如上文预检中所示的 HTTP 标头,则将尝试发送实际请求。
  2. 浏览器发送实际请求。同样,也必须包含如上文实际请求中所示的 HTTP 标头。必须设置此标头;否则,浏览器将不会处理响应。

有关标头及其工作方式的其他信息,请访问 Access-Control-Allow-Origin跨域资源共享 (CORS)