SVN 通过IIS设置反向代理访问
原因
一个字,穷,没办法,只有一台机器 要当测试服务器还要做源码管理。
解决办法
通过IIS配置反向代理访问SVN,给SVN访问的HTTPS绑定上域名,就可以正常访问了。
1、修改SVN配置
把SVN修改为 HTTP访问,端口改掉,随便写一个未被使用的就行 ,本例 90,同时设置绑定的IP地址为:127.0.0.1。设置完这一步以后其他机器就布恩那个访问了。
2、在IIS上安装 URLRewrite和反向代理插件,下载地址
32位:http://download.microsoft.com/download/4/9/C/49CD28DB-4AA6-4A51-9437-AA001221F606/rewrite_x86_zh-CN.msi 64位:http://download.microsoft.com/download/4/E/7/4E7ECE9A-DF55-4F90-A354-B497072BDE0A/rewrite_x64_zh-CN.msi 反向代理ARR: http://www.iis.net/downloads/microsoft/application-request-routing
3、打开IIS管理器,新建网站,绑定设置同时绑定http和https,设置证书,绑定域名:svn.xxx.com。
4、配置两条规则:一是把http访问重定向到https,二是设置反向代理,把访问转发到http://localhost:90,注意http访问重定向的规则放在第一位。
<rewrite>
<rules>
<!--HTTP重定向到HTTPS-->
<rule name="HTTP to HTTPS redirect" stopProcessing="true">
<match url="(.*)" />
<conditions>
<add input="{HTTPS}" pattern="off" ignoreCase="true" />
</conditions>
<action type="Redirect" redirectType="Found" url="https://{HTTP_HOST}/{R:1}" />
</rule>
<!--设置反向代理-->
<rule name="phpweb">
<match url="^(.*)" />
<conditions>
<add input="{HTTP_HOST}" pattern="^svn.xxx.com$" />
</conditions>
<action type="Rewrite" url="http://localhost:90/{R:1}" />
</rule>
</rules>
</rewrite>
5、打开网站,修改web.config,添加节点,否则无法提交:
<security>
<requestFiltering>
<fileExtensions>
<clear/>
</fileExtensions>
</requestFiltering>
</security>
6、现在基本上可以了,不过还有个小问题,web.config和bin目录无法提交,在本网站中,打开请求筛选,移除这两项,配置如下:
7、最后多站点配置IIS的https
C:\Windows\system32\inetsrv\config\applicationHost.config
编辑上述路径的配置文件,把每个站点对应的
<binding protocol="https" bindingInformation="*:443" />
改成
<binding protocol="https" bindingInformation="*:443:svn.xxx.com" />
打完收工,全部的配置文件如下:
<?xml version="1.0" encoding="UTF-8"?>
<configuration>
<system.webServer>
<rewrite>
<rules>
<clear />
<rule name="HTTP to HTTPS redirect" stopProcessing="true">
<match url="(.*)" />
<conditions logicalGrouping="MatchAll" trackAllCaptures="false">
<add input="{HTTPS}" pattern="off" ignoreCase="true" />
</conditions>
<action type="Redirect" url="https://{HTTP_HOST}/{R:1}" redirectType="Found" />
</rule>
<rule name="ReverseProxyInboundRule1" stopProcessing="true">
<match url="(.*)" />
<conditions logicalGrouping="MatchAll" trackAllCaptures="false" />
<action type="Rewrite" url="http://localhost:90/{R:1}" />
</rule> </rules>
</rewrite>
<security>
<requestFiltering>
<fileExtensions>
<clear />
</fileExtensions>
<hiddenSegments>
<remove segment="App_code" />
<remove segment="App_Data" />
<remove segment="bin" />
<remove segment="web.config" />
</hiddenSegments>
</requestFiltering>
</security> </system.webServer>
</configuration>
SVN 通过IIS设置反向代理访问的更多相关文章
- windows利用iis配置反向代理实现ECS内网互通oss
IIS实现反向代理 新建两个站点,端口分别使用 80 和 81,在DNS中新建A记录,指向该计算机(10.4.34.41) 配置过程如下: 1.在Windows Server 2012 R2上 安装A ...
- 使用IIS实现反向代理
IIS的反向代理是通过ARR模块来完成的,ARR模块需要另外安装,而且只能通过Web PlatForm Installer安装.关于安装来源与步骤,帖子已有很多,不做描述.启用“Application ...
- iis配置反向代理oss
windows利用iis配置反向代理实现ECS内网互通oss IIS实现反向代理 新建两个站点,端口分别使用 80 和 81,在DNS中新建A记录,指向该计算机(10.4.34.41) 配置过程如下: ...
- Nginx_地址重写(rewrite)_日志管理(log_format)_压缩输出_Nginx设定限速_Nginx设置反向代理及反向代理缓存
Nginx地址重写 Nginx rewrite rewrite语法规则1).变量名可以使用 "=" 或 "!=" 运算符~ 区分大小写~* 不区分大小写^~ 禁 ...
- IIS充当反向代理转发请求到Kestrel
接着上篇博文为ASP.NetCore程序启用SSL的code,这篇将介绍如何用IIS充当反向代理的角色转发请求到Kestrel服务器 介绍 与ASP.NET不同,ASP.netCore使用的是自托管w ...
- 安装Nginx并为node.js设置反向代理
最近看了反向代理和正向代理的东西,想到自己的node.js服务器是运行在3333端口的,也没有为他设置反向代理,node.js项目的一些静态文件是完全可以部署在Nginx上,以减少对node.js的请 ...
- asp.net core 托管到windows服务,并用iis做反向代理
使用NSSM把.Net Core部署至 Windows 服务 为什么部署至Windows Services 在很多情况下,很少会把.Net Core项目部署至Windows服务中,特别是Asp.n ...
- Vue-CLI 3.x 设置反向代理
最近在项目中使用了Vue CLI 3.0版本,项目中需要设置反向代理解决跨域问题,下面记录一下设置过程. 新建配置文件 (vue-cli3.x 官网的配置文档 https://cli.vuejs.or ...
- Nginx反向代理访问内网服务器
Nginx反向代理访问内网服务器 问题描述 公司给配的台式机太垃圾了,不能访问外部网络就算了,还没有maven私服.近期项目不光得使用maven还得使用内网中的数据库之类,台式机太卡只能用自己的笔 ...
随机推荐
- HTML随笔2
1. 快捷键: * div*8 + tab键 - 可快捷出现八个div标签. * 标签名."名称" + tab键 - 可快速出现类名为"名称"的该标签,如果不加 ...
- 支付宝分库分表中间件--zdal简介
中间件, 如果仅仅作为一名用户的话, 主要关注一下如何使用即可, 大多数情况下也就是配置. 下面简单的介绍一下支付宝的分库分表中间件--->zdal在web项目中的配置. 1, 在网上查阅相关资 ...
- 微信小程序实现“鲜肉APP”首页效果
项目地址http://git.oschina.net/djcx/WeiXinXiaoChengXu/tree/master 如果您觉得不错,记得给一个star 由于微信小程序目前是当下趋势,正好昨天弄 ...
- JAVA环境变量关于
1.为什么要设置classPath? 用于通知JVM Java基础类库的位置.classPath告诉类装载器去哪里寻找第三方类库 自JDK1.5之后便不需要再配置这个变量了 2.为什么安装两个JRE( ...
- RF+Appium框架自动化测试系列一之(Mac下Appium环境搭建)万事开头难
消失了3个月,有一段时间没来园子更新博客了,各位看官见谅哈哈,消失是因为刚换了工作环境没外网,好多笔记没能及时的记录分享,以后有时间慢慢补上吧,这段时间主要接触了移动端app的自动化测试,公司为了快速 ...
- swift3.0 点击UIScrollView中输入框之外的区域关闭键盘
通过点击事件实现关闭键盘 scrollView: UIScrollView! title_textField: UITextField! let hideKeyboardTapGesture = UI ...
- NYOJ--水池数目
//NYOJ--水池数目 #include<iostream> #include<cstring> }; using namespace std; void dfs(int,i ...
- [个人介绍]关于Hallmeow
Hallmeow,某水中学一只oier,一般来讲呢,代码能力弱,脑子不好使,实力一般水平有限,成绩时好时坏.目前主要是为了应付NOIP2017,希望能打一个好成绩,方便以后装b. 反正就这样,QQ98 ...
- web添加第三方应用,前端解决跨域问题的8种方案
应用场景 web应用通过QQ登录授权实现第三方登录. 操作步骤 1. 注册成为QQ互联平台开发者,http://connect.qq.com/ 2. 准备一个可访问的域名,如dev.foo.com 3 ...
- python===基础,修改idle的输入风格
http://blog.csdn.net/aq_cainiao_aq/article/details/51701861