反向代理对于服务器来说是非常实用的功能,可以将毫不相关的网站部署到同一个域名下,对于使用docker的人来说可以免去大量配置上的麻烦。它还能将HTTP流量转换成HTTPS,多个服务只需要一个证书就能解决。

对于nginx和Apache,网上已经有大量教程,不管是什么样的服务都能找到相应的配置。然而由于使用IIS的人数相对较少,对于IIS的反向代理几乎没有什么人去研究。连进行URL重写的AAR模块也没什么相关资料。

如果服务只需要用HTTP,配置相对简单。首先添加入站规则,匹配模式设为xxx/(.*)重写URL设为http://ip.address.or.domain/{R:1},同时勾选附加查询字符串停止处理后续规则就搞定了。

然而,很多时候光转发HTTP是完全不够的。许多服务在使用HTTP的同时还会打开WebSocket连接,URL为ws://或者wss://开头。这种情况下如果只转发HTTP,服务就无法正常使用,比如jupyter就无法启动内核。所以,一般来说最好能同时转发HTTP和WebSocket流量。

使用IIS实现起来并不复杂,然而由于资料较少,我没少走弯路。除了之前转发HTTP的配置外,在条件下添加一项,条件输入{CACHE_URL},模式为(.+)://,然后重写URL改为{C:1}://ip.address.or.domain/{R:1},问题迎刃而解。

本文标题:使用IIS做HTTP和WebSocket服务的反向代理

文章作者:xieyi

发布时间:2017-11-17, 18:07:17

最后更新:2017-11-17, 11:54:44

原始链接:http://imxieyi.com/2017/11/17/使用iis做http和websocket服务的反向代理/

许可协议: "署名-非商用-相同方式共享 4.0" 转载请保留原文链接及作者。

【转】使用IIS做HTTP和WebSocket服务的反向代理相关推荐

  1. Nginx中配置服务的反向代理(服务器集群技术)

    需求:安装两个tomcat服务,通过nginx反向代理. 1:安装两个及以上tomcat 2:配置tomcat 修改端口:打开bin目录下的server.xml文件 修改下面三个端口, 不能重复防止冲 ...

  2. windows Nginx WebSocket ws协议反向代理

    Nginx WebSocket ws协议反向代理 正常连接WebSocket 使用Nginx反向代理 正常连接WebSocket 未使用nginx反向代理 var ws = new WebSocket ...

  3. Linux服务篇--反向代理及负载均衡器Haproxy

    本章概要 HAProxy介绍 HAProxy配置 ACL 1.HAProxy介绍 HAProxy介绍 前言 lvs性能强,功能弱:nginx(haproxy)功能多,性能相对较弱,因此,一般情况下,在 ...

  4. nginx做服务器入口_Nginx实现http反向代理

    什么是反向代理? 反向代理(Reverse Proxy)方式是指以代理服务器来接受internet上的连接请求,然后将请求转发给内部网络上的服务器,并将从服务器上得到的结果返回给internet上请求 ...

  5. nginx服务器之反向代理的使用

    目录 一.SwitchHosts解决域名 二.nginx解决端口问题 三.实现流程分析 最后 今天是刘小爱自学Java的第142天. 感谢你的观看,谢谢你. 学习计划安排,主要解决两个问题: 一个是使 ...

  6. 使用Nginx为TCP/WebSocket协议做反向代理和几个易踩的坑

    通常,我们使用Nginx为后端WEB服务做反向代理或负载均衡,但如果我们的后端服务,并不是HTTP/HTTPS协议,而是TCP协议或WebSocket协议呢 最近遇到一个需求,我们的HTTPS以及MQ ...

  7. NGINX做反向代理缓存服务器原理

    代理服务可以简单的分为正向代理和反向代理 正向代理: 用于代理内部网络对Internet的连接请求(如VPN/NAT),客户端指定代理服务器,并将本来要直接发送给目标web服务器的HTTP请求先发送到 ...

  8. 云服务器,Linux上安装xampp,搭建node服务,云服务器Firewalld、iptables,nginx反向代理

    目录 写在前面的 前期准备 下载xampp: xampp安装步骤 1.首先链接远程linux服务器 2.xshell终端执行安装命令 3.启动:xampp服务 4.访问数据库,修改数据库密码 安装守护 ...

  9. maven netty 配置_springboot2.3手册:5分钟用Netty搭建高性能异步WebSocket服务

    互联网应用架构:专注编程教学,架构,JAVA,Python,微服务,机器学习等领域,欢迎关注,一起学习. 断更快两个月了,6月份工作忙到飞起,7月份家里又有事,已经累到躺下就想睡觉的程度了. 现在我们 ...

最新文章

  1. 从流感预测到智能决策,深度学习能帮企业做哪些事?
  2. python123数字形式转换_【Python系统学习02】数据类型与类型转换
  3. 程序员的自我修养之马桶修理工:compose方法的妙用!
  4. 【laravel】laravel的基础学习笔记
  5. 音乐咖android,GitHub - hackers365/musicafe: musicafe音乐咖 — 网易、虾米、QQ音乐一处搞定...
  6. 疑似谷歌Pixel 4真机谍照曝光:边框宽到没朋友
  7. 即时低码数据库Web应用-ASP.NET Core 3.1单页应用(SPA)
  8. 领导逼走员工的新套路,一次就见效
  9. Multi thread: std::promise
  10. Sizzle.selectors.relative [ 源代码分析 ]
  11. javascript:document.all document.getElementsByName
  12. Create umbraco website-On the road of umbraco (1)
  13. Java三大体系JavaSE、JavaEE、JavaME的区别
  14. 基于vue3.0的ionic中文开发文档
  15. 房屋租赁合同电子版最新版(word版本适合个人租房用)
  16. 使用nginx配置子域名
  17. EXCEL表格单元格中有数字和文字怎么将数字部分提取出来
  18. 关于PEP8报too long问题的解决方式
  19. centos 之网络配置
  20. 人事管理系统如何做好员工考勤管理?

热门文章

  1. 洛谷P2480 [SDOI2010]古代猪文(卢卡斯定理+中国剩余定理)
  2. bzoj 1024 [SCOI2009]生日快乐——模拟
  3. 201521123014 《Java程序设计》第11周学习总结
  4. 2017-03-16 Codeforces 453A 概率期望,思维 UOJ 228(待补)
  5. 模仿Linux内核kfifo实现的循环缓存
  6. 3d照片环效果(修改版--添加了x轴y轴双向转动和修复模糊度的bug)
  7. 构造函数和clone以及在继承中
  8. css3制作滚动按钮
  9. 【数据结构与算法】【算法思想】分治算法
  10. [密码学基础][每个信息安全博士生应该知道的52件事][Bristol Cryptography][第2篇]多核处理器和向量处理器的区别