【发布时间】:2020-05-29 17:49:21
【问题描述】:
我正在将 EXE 文件用于内部网站的后端。 我有服务器 2019 和 IIS 10。 当我调用 EXE 文件时,IIS 会尝试下载文件而不是执行它。
我是这样打电话的:
$.ajax({
url: "cgi-bin/compPack.exe",
dataType: "json",
type: "post",
data: dataString,
error: ajaxError,
success: function(json){
这会出错,因为它需要一个 JSON 字符串,如果我输入了
sandbox/cgi-bin/myProgram.exe
在浏览器中它只是下载 EXE。
我添加了 CGI 模块,设置了 CGI-BIN 文件夹的权限,尝试从 Mime 类型中添加和删除 .exe 作为 application/octet-stream 但无法让它运行二进制文件。
我不确定我需要做什么才能使其执行 cgi-bin 文件夹中的(任何)EXE 文件。
【问题讨论】:
-
我想你的意思是在客户端执行?自动运行 exe 是一种浏览器设置,它非常不安全。您不能从 IIS 端进行配置,否则每个人都会以这种方式传播病毒。
-
我的意思是我使用的是 EXE 文件而不是 PHP 脚本。 EXE 尝试下载而不是运行。我们有一台带有 IIS 的 2012 服务器整天运行它们,所以我知道它可以完成,但我没有设置。
-
在 Web 服务器上评估 PHP 脚本并发出 HTML。这就是你的 EXE 所做的吗?
-
它返回 JSON,不是 HTML,但是是的。
-
EXE 是否响应 GET 请求等?我不是专家,但我相信您必须注册一个自定义处理程序并将所有请求重定向到它。这里有一些链接不太有用,但可能会让您走上正轨。 docs.microsoft.com/en-us/iis/configuration/system.webserver/…stackoverflow.com/questions/44978576/…