You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

LotusScript NotesHTTPRequest RunOnServer代理配置问题

关于NotesHTTPRequest代理及RunOnServer配置的解决方案

1. NotesHTTPRequest的代理支持情况

NotesHTTPRequest暂不支持直接配置代理,这是当前Domino版本的功能限制,无法通过API参数直接指定代理。

2. 用RunOnServer执行NotesHTTPRequest的思路

由于客户端网络环境差异,通过RunOnServer让NotesHTTPRequest在服务器端执行,复用服务器的全局代理配置是可行的方案,但需要确保服务器和代码的配置都正确。

3. 完整配置步骤(解决服务器代理已配置但无法调用的问题)

步骤1:确认服务器文档的代理配置正确

打开Domino Administrator,找到目标服务器的服务器文档,完成以下配置:

  • 切换到「Internet协议」→「HTTP」标签页
  • 在「代理服务器设置」区域:
    • 勾选「启用代理服务器」
    • 填写代理服务器地址(如proxy.yourcompany.com)和端口(如8080)
    • 若代理需要身份验证,填写代理用户名和密码
  • 保存服务器文档,重启Domino服务器使配置生效

步骤2:确保RunOnServer的执行权限

  • 执行RunOnServer的用户需拥有服务器的「运行受限Java代理」权限(在服务器文档的「安全性」→「服务器访问」→「运行受限Java/代理」列表中添加该用户)
  • 确认服务器文档的「安全性」→「服务器访问」→「允许运行RunOnServer」列表包含该用户

步骤3:编写正确的RunOnServer调用代码

代码需确保在服务器端运行时直接复用服务器的代理配置,不要手动添加代理相关参数(因为NotesHTTPRequest不支持)。示例代码:

// 定义要在服务器端执行的任务
class HTTPRequestTask implements Runnable {
    public void run() {
        try {
            NotesHTTPRequest req = NotesContext.getCurrent().getSession().createHTTPRequest();
            // 发起目标API请求
            NotesHTTPResponse resp = req.get("https://target-api.example.com/data");
            // 处理响应
            System.out.println(resp.getStatusLine());
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
}

// 调用RunOnServer执行任务
session.runOnServer(new HTTPRequestTask());

步骤4:排查网络及权限问题

  • 测试服务器本身是否能通过代理访问目标API:可以在服务器上用curl或浏览器测试代理连通性
  • 检查Domino服务器的防火墙规则:确保服务器能访问代理服务器的端口,同时代理服务器允许Domino服务器的IP访问目标API
  • 查看Domino服务器日志(console.log),排查是否有代理认证失败、连接超时等错误信息

内容的提问来源于stack exchange,提问作者andyleeyuan

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.28 05:02:52