原因

一个字,穷,没办法,只有一台机器 要当测试服务器还要做源码管理。

解决办法

通过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设置反向代理访问的更多相关文章

  1. windows利用iis配置反向代理实现ECS内网互通oss

    IIS实现反向代理 新建两个站点,端口分别使用 80 和 81,在DNS中新建A记录,指向该计算机(10.4.34.41) 配置过程如下: 1.在Windows Server 2012 R2上 安装A ...

  2. 使用IIS实现反向代理

    IIS的反向代理是通过ARR模块来完成的,ARR模块需要另外安装,而且只能通过Web PlatForm Installer安装.关于安装来源与步骤,帖子已有很多,不做描述.启用“Application ...

  3. iis配置反向代理oss

    windows利用iis配置反向代理实现ECS内网互通oss IIS实现反向代理 新建两个站点,端口分别使用 80 和 81,在DNS中新建A记录,指向该计算机(10.4.34.41) 配置过程如下: ...

  4. Nginx_地址重写(rewrite)_日志管理(log_format)_压缩输出_Nginx设定限速_Nginx设置反向代理及反向代理缓存

    Nginx地址重写 Nginx rewrite rewrite语法规则1).变量名可以使用 "=" 或 "!=" 运算符~ 区分大小写~* 不区分大小写^~ 禁 ...

  5. IIS充当反向代理转发请求到Kestrel

    接着上篇博文为ASP.NetCore程序启用SSL的code,这篇将介绍如何用IIS充当反向代理的角色转发请求到Kestrel服务器 介绍 与ASP.NET不同,ASP.netCore使用的是自托管w ...

  6. 安装Nginx并为node.js设置反向代理

    最近看了反向代理和正向代理的东西,想到自己的node.js服务器是运行在3333端口的,也没有为他设置反向代理,node.js项目的一些静态文件是完全可以部署在Nginx上,以减少对node.js的请 ...

  7. asp.net core 托管到windows服务,并用iis做反向代理

    使用NSSM把.Net Core部署至 Windows 服务   为什么部署至Windows Services 在很多情况下,很少会把.Net Core项目部署至Windows服务中,特别是Asp.n ...

  8. Vue-CLI 3.x 设置反向代理

    最近在项目中使用了Vue CLI 3.0版本,项目中需要设置反向代理解决跨域问题,下面记录一下设置过程. 新建配置文件 (vue-cli3.x 官网的配置文档 https://cli.vuejs.or ...

  9. Nginx反向代理访问内网服务器

    Nginx反向代理访问内网服务器 问题描述 ​ 公司给配的台式机太垃圾了,不能访问外部网络就算了,还没有maven私服.近期项目不光得使用maven还得使用内网中的数据库之类,台式机太卡只能用自己的笔 ...

随机推荐

  1. 基于Python使用SVM识别简单的字符验证码的完整代码开源分享

    关键字:Python,SVM,字符验证码,机器学习,验证码识别 1   概述 基于Python使用SVM识别简单的验证字符串的完整代码开源分享. 因为目前有了更厉害的新技术来解决这类问题了,但是本文作 ...

  2. Swift4 Json

    swift4 带来了原生的json解析,它们分别是 JSONDecoder和JSONEncoder,使用起来还算方便,不过为了更方便,我把它们又进行了简单的封装: class JsonHelper { ...

  3. 18. leetcode 387. First Unique Character in a String

    Given a string, find the first non-repeating character in it and return it's index. If it doesn't ex ...

  4. ASP.NET Core 源码学习之 Logging[4]:FileProvider

    前面几章介绍了 ASP.NET Core Logging 系统的配置和使用,而对于 Provider ,微软也提供了 Console, Debug, EventSource, TraceSource ...

  5. 有關於USB保固

    ================================================= 版權聲明:如需轉載,請列明出處:HingAglaiaWong@博客園 支持原創,是對作者最好的的鼓勵 ...

  6. Xcode调试时查看变量的方法

    在Debug Console窗口中(lldb)后可以使用两个指令: 1.print 变量名:打印出变量值 2.po 对象名:print object,打印出对象中的值: 另外,Command+Shif ...

  7. mysqli数据库连接

    /* * 连接数据库的mysqli函数库 * 使用的是过程化的风格编码 */header('content-type:text/html;charset=utf-8');// 获取数据库连接$link ...

  8. python——模块和包 需要注意的地方

    一 模块 1.import import module: 将执行文件(module)的目录路径插入到sys.path的第一个位置 执行时: 1.创建新的名称空间 2.执行被调用的模块 第二次调用,不会 ...

  9. 剑指OFFER——正则表达式匹配

    请实现一个函数用来匹配包括'.'和'*'的正则表达式.模式中的字符'.'表示任意一个字符,而'*'表示它前面的字符可以出现任意次(包含0次). 在本题中,匹配是指字符串的所有字符匹配整个模式.例如,字 ...

  10. ReactiveCocoa源码解读(一)

    本着饮水思源的想法,面对ReactiveCocoa的强大功能,按捺不住心中的好奇心,于是走进其源码之中,一探ReactiveCocoa的魅力所在.虽然,耳闻其强大功能的核心是:信号,但一直不知道这个信 ...