REST easy with kbmMW #16 – Multiple servers using HTTP.sys transport
前文写过使用HTTP.sys转输层(TkbmMWHTTPSysServerTransport),实现一个kbmMW应用服务器。
如果在一台服务器上,同时运行多个,基于TkbmMWHTTPSysServerTransport实现的kbmMW应用服务器,该怎么配置呢?
通常会遇到这样的错误信息,如:“Unable to bind to the underlying transport for … The IP Listen-Only list may contain a reference to an interface which does not exist on this machine.” or “Unable to open file….”.
其原因是Windows需要你来定义,允许服务器侦听的主机。仅仅将URL放在TkbmMWHTTPSysServerTransport组件的URL属性中是不够的。假设你的服务器有多个公共IP,你想基于一个公共IP来运行kbmMW服务器(Web服务器),这样的话,让其他的kbmMW服务器去侦听其他的公共IP地址。
在这种情况下,将url属性设置为Http://xxxx.y/,其中,xxxx是公共IP地址,y是端口号(通常为80)。但是,在尝试启动服务器之前,还需要告诉Windows,Http.sys去侦听该IP地址。
可以通过在命令行下执行此操作(用管理员身份运行CMD,进入命令行模式)。
然后输入下面命令:
netsh http add iplisten xxxx
如果不用管理员运行cmd,会得到错误信息:

如果成功添加了http.sys侦听的IP地址,会显示:

现在可以启动kbmMW服务器了。接下来,可以通过键入以下命令检查已定义的Windows的本地网卡(NIC)IP地址,有哪些地址http.sys在监听:
netsh http show iplisten
接下来,你还可以删除IP地址
netsh http delete iplisten x.x.x.x

上文中,只是说明如何侦听IP地址。更详细的关于netsh的用法,可以参考WCF 部署问题 小总结 (HTTP 不能注册的解决方法)
REST easy with kbmMW #16 – Multiple servers using HTTP.sys transport的更多相关文章
- REST easy with kbmMW #14 – DB Controlled login
介绍 关于如何使用授权和登录管理来构建应用服务器还存在一些问题,其中之一就是用户及其角色如何在在数据库中定义.该文将解释使用TkbmMWAuthorizationManager解决此问题的一种方法.有 ...
- REST easy with kbmMW #3 – SSL
我在前两篇文章中展示了“REST easy with kbmMW”文章,如何使用kbmMW制作REST服务器,以及如何使用该REST服务器轻松地从数据库返回和存储数据,所有这些都在不到30行的真实数据 ...
- REST easy with kbmMW #20 – OpenAPI and Swagger UI
即将推出的kbmMW更新不仅是一些bug修正,同时将包含一个新的主要功能:客户端存根生成器框架. 那什么是客户端存根生成器框架呢? 他是一个基于kbmMW smart services,可以生成由各种 ...
- REST easy with kbmMW #21 – Delphi client stubs
在之前的博文中,我提到新的存根生成器框架具有生成Delphi客户端存根所需的功能,使得开发Delphi智能客户端非常容易,完全支持编译时的类型检查和IDE类/属性帮助. 我没想到会把它包含在即将发布的 ...
- REST easy with kbmMW #15 – Handling HTTP POST
我被问到有关如何通过基于kbmMW智能服务(Smart Service)的REST处理POST的问题. 这篇博客文章解释了典型的POST各种形式的访问,以及如何在kbmMW中处理它们. POST变种W ...
- REST easy with kbmMW #24 使用kbmMW实现JSON/XML/YAML转换成对象
你想过没有,把一个给定的xml或json生成一个Delphi类,并通过这个类完成对xml或json的读写操作吗? 不管有没有,现在kbmMW为我们实现了,看下面这行代码: var s:string; ...
- REST easy with kbmMW #17 – Database 6 – Existing databases
kbmMW已经包含了非常精细的功能来确定和解释数据库中表的元数据. 在下一版本中,这个功能将得到进一步加强,可以导入现有数据库中的表,自动创建与表相匹配的ORM实体类. 这意味着你能够使用kbmMW的 ...
- REST easy with kbmMW #4 – Access management
在前面有关如何使用kbmMW创建REST服务器的基础上,现在已经到了考虑该如何控制用户的访问.什么是访问管理?就是“允许谁做什么"的问题. 显然,这个世界中存在数据,应该保护他而不被未授权的 ...
- REST easy with kbmMW #1
kbmMW 5.0支持REST服务器的开发,并且非常简单,下面看看如何实作一个REST服务器. 首先我们制作一个服务器应用程序,增加一个简单的Form,并放置kbmMW组件. 在Delphi中单击Fi ...
随机推荐
- Quartz理解与实现
记录关于Quartz定时调度任务的知识点,知识点主要分为两个部分,第一个部分介绍Quartz,第二部分使用Quartz+Spring来配置使用Quartz的实际操作. (一)Quartz知识点 Qua ...
- java 静态代理和动态代理
代理模式 一.概述 代理是一种模式,提供了对目标对象的间接访问方式,即通过代理访问目标对象.如此便于在目标实现的基础上增加额外的功能操作,前拦截,后拦截等,以满足自身的业务需求,同时代理模式便于扩展目 ...
- js异常处理
<script> function myFunction() { try { var x=document.getElementById("demo").value; ...
- 78. Subsets C++回溯法
本题还是基本的回溯法.就是回溯函数的参数选择上要花点心思! class Solution { public: void backTrack(vector<int> ans, vector& ...
- Oracle date timestamp 毫秒 - 时间函数总结(转)
原文地址:Oracle date timestamp 毫秒 - 时间函数总结 yyyy-mm-dd hh24:mi:ss.ff 年-月-日 时:分:秒.毫秒 --上一月,上一年select add_ ...
- [luogu P3195] [HNOI2008]玩具装箱TOY
[luogu P3195] [HNOI2008]玩具装箱TOY 题目描述 P教授要去看奥运,但是他舍不下他的玩具,于是他决定把所有的玩具运到北京.他使用自己的压缩器进行压缩,其可以将任意物品变成一堆, ...
- 【SQL】group by 及 having
Group By 分组汇总 HAVING:给分组设置条件 1.概述 “Group By”从字面意义上理解就是根据“By”指定的规则对数据进行分组,所谓的分组就是将一个“数据集”划分成若干个“小区域”, ...
- 尚学堂java答案解析 第二章
本答案为本人个人编辑,仅供参考,如果读者发现,请私信本人或在下方评论,提醒本人修改 一.选择题: 1.CD 解析:A public是关键字. B 第一个不能是数字 2.C 解析:j=i++ < ...
- python 学习笔记 字符串和编码
字符编码:因为计算机只能处理数字,如果要处理文本,就必须先把文本转换为数字才能处理,最早的计算机在设计时采用8个比特(bit)作为一个字节 (byte),所以,一个字节能表示的最大的整数是255(二进 ...
- bzoj4698
题解: 后缀数组 对所有序列差分一下 公共串的长度+1就是答案了 二分 扫一遍height即可,.. 代码: #include <bits/stdc++.h> using namespac ...