Contents

1. 概述

2. HTTP和HTTS比较

支持HTTP和HTTPS两种方式

要求所有连接使用HTTPS

优点:

缺点:

3. 为Azure DevOps Server 配置安全访问

1. 概述

Azure DevOps Server (TFS)支持默认的超文本传输协议(HTTP),也支持安全的超文本传输协议(HTTPS)。将TFS服务器服务器配置为安全访问(https/SSL),可以大幅增强其部署的安全性和数据传输的安全性。在系统部署过程中,TFS默认选择HTTP部署方式;如果在使用一段时间之后配置为HTTPS访问方式,则还需要开发人员做响应的调整。本文介绍如何在Azure DevOps Server中配置SSL,以及配置完成后对用户的影响。
在调整系统配置之前,最好了解和评估两种部署的优劣,以便做出最好的选择。

2. HTTP和HTTS比较

支持HTTP和HTTPS两种方式

如果将azure devops服务器的配置为支持这两种协议,则那些使用新的HTTPS连接TFS的客户端计算机变得更加安全。此外,那些使用HTTP连接服务器的客户端计算机任然可以使用,不需要做任何调整。
即使将服务器配置为两种协议,在一般情况下,我们不会将TFS通过HTTP的方式发布到公网上,只会在一个可控的内网网络环境中发布HTTP协议。
支持两种协议的配置方式,比较适合与在当前使用HTTP协议的基础上,新增HTTPS协议,这样既不影响当前的用户,又可以加强新增用户的访问安全性;随时时间的推移,我们可以阶段性的逐步条件老用户的的连接方式,从而最低限度的降低系统变更对用户造成的影响。
这种配置方式,比较常见的应用场景是,内网用户使用HTTP访问TFS,公网用户使用HTTPS访问TFS;这样,我们可以同时兼顾安全性、便捷性和效率几个方面的考虑。

要求所有连接使用HTTPS

优点:

如果我们要求所有开发团队都是用HTTPS的方式连接TFS系统,明显可以获得两个优势:

  • 安全的数据传输。用户和服务器之间的全部数据传输都是加密的。

  • 可以通过控制SSL证书的过期的方式,达到控制服务失效的目标。
缺点:

当然,缺陷也非常明显:

  • 传输速度慢。我们知道,使用SSL加密方式传输数据,需要在常规传输的基础上增加加密和解密的过程,这是需要消耗系统资源和时间的,必然会造成传输速度的降低。系统响应速度降低,不仅体现用户连接服务器下载代码、修改工作项、自动化的流水线执行上,还会反映在运维、系统升级等维护性的工作上。

  • 需要维护证书。基于SSL的Web应用,都需要获取来自签发机构的SSL证书。如果是证书来自自有证书签发机构,则会影响用户信任。同时,维护证书签发机构,也必然会提高系统运行的维护成本。当然,如果证书来自第三方机构,则需要为此额外付费。

在评估软件维护成本和效率之后,用户自然会选择适合自己的部署方式。

3. 为Azure DevOps Server 配置安全访问

为Azure DevOps Server 配置安全访问,只要包含三个过程:

  • 从签发机构获取证书

  • 安装和分配证书
  • 配置TFS服务器的公共URL
  • 调整客户端配置
  • 调整代理配置

下面来简要介绍TFS系统相关步骤的操作:
使用TFS系统管理员(也是操作系统管理员)的身份登录TFS应用服务器,配置IIS中的证书。

1. 导入证书





注意,如果证书有密码,则需要输入证书的访问密码

2. 为TFS服务器绑定证书







绑定成功以后的效果:

3. 修改公共URL

如果取消了HTTP协议,还需要开发人员调整自己的Git配置。这里主要涉及Git远程分支的操作,会在后续的博客中详细介绍

------------------------------------------------------------

http://www.cnblogs.com/danzhang/  DevOps MVP 张洪君

------------------------------------------------------------

为Azure DevOps Server (TFS) 配置安全访问(HTTPS with SSL)的更多相关文章

  1. Azure DevOps Server (TFS) 代码库Repo管理培训

    Repo是分布式代码库Git中的一个专用词,用于存储和管理开发团队中特定的源代码. 使用Git,可以协调整个团队的代码更改. 即使您只是一个开发人员,版本控制也可以帮助您在修复错误和开发新功能时保持井 ...

  2. 集成Azure DevOps Server(TFS) 与微软Teams

    1.概述 Microsoft Teams是Office 365中团队协作的中心.将团队的所有聊天.会议.文件和应用程序放在一个位置.软件开发团队可以在一个专门的协作中心中即时访问他们所需的所有内容,T ...

  3. 还原Azure DevOps Server (TFS)中误删除的生成流水线

    流水线历史记录 DevOps Server流水线的历史记录有完善的版本日志,用户可以随时回退到修改过程中的任何一个版本,还能比较差异.这个历史记录功能可以和代码库中的版本控制媲美. 图一:生成历史记录 ...

  4. Azure DevOps Server (TFS)中代码文件换行问题解决方案(Git)

    之前写过一篇博客"探索TFS Git 库文件换行(CRLF)的处理方式",主要是针对TFVC代码库的. 下面这篇文章说明如何在TFS的Git库中处理代码换行的问题. 概述 在Azu ...

  5. 在Azure DevOps Server (TFS)的流水线中编译和测试Xcode移动应用(iPhone)

    概述 Xcode是开发基于苹果macOS系统的桌面应用和移动应用的主要IDE工具.使用Azure DevOps Server (原名TFS)系统中的pipelines流水线功能,可以方便的集成Xcod ...

  6. 在Azure DevOps Server (TFS)中实现VUE项目的自动打包

    概述 Vue.js(读音 /vjuː/, 类似于 view)是一个构建数据驱动的 web 界面的渐进式框架.由于它在数据绑定.页面展示和使用简单方面有很大的优势,逐渐被越来越多的前端开发团队使用.本文 ...

  7. 在Azure DevOps Server (TFS 2019) 流水线传递参数

    变量概述 在Azure DevOps Server的流水线中,变量是衔接不同任务和不通代理之间的桥梁,它可以使相对松散.各自独立的任务之间相关影响并共享数据.在流水线中使用变量,可以在各任务之间相互调 ...

  8. Azure DevOps Server (TFS) 修改工作项附件大小限制

    1. 问题描述 当上传工作项附件时,系统提示"附件大小限制" 2.解决方案 2.1 默认设置 默认情况下,Azure DevOps Service和Team Foundation ...

  9. 在Windows操作系统的文件管理器中集成Azure DevOps Server (TFS)工具菜单

    故事场景 使用过SVN的用户,都知道在Windows的文件夹上点击鼠标右键,就会弹出Tortoise SVN的操作菜单(俗称小乌龟).通过这个功能,用户不需要打开SVN工具,可以直接在Windows的 ...

  10. Azure DevOps Server (TFS) 修改Git文件大小限制

    签入Git的所有文件将永远保留在存储库中,限制大文件签入到代码库,可以增加磁盘使用效率,提高系统备份还原等日常维护的效率. 通过下面的设置,团队项目管理员可以阻止超过特定大小的文件进入存储库.如果推送 ...

随机推荐

  1. Python爬取6271家死亡公司数据,一眼看尽十年创业公司消亡史!

    ​ 小五利用python将其中的死亡公司数据爬取下来,借此来观察最近十年创业公司消亡史. 获取数据 F12,Network查看异步请求XHR,翻页. ​ 成功找到返回json格式数据的url, 很多人 ...

  2. workbook数据相关操作

    访问单个单元格 c = ws['A4'] #返回单元格A4,如果单元格不存在,则会自动创建 ws['A4'] = 4 #为单元格A4赋值为4 d = ws.cell(row=4, column=2, ...

  3. LeetCode 217:存在重复元素 Contains Duplicate

    题目: 给定一个整数数组,判断是否存在重复元素. Given an array of integers, find if the array contains any duplicates. 如果任何 ...

  4. IT兄弟连 HTML5教程 HTML5的靠山 W3C、IETF是什么

    无规矩不成方圆,软件开发当然不能例外.Web开发涉及的厂商和技术非常多,所以必须要有参考的标准,而且需要一系列的标准.Web程序都是通过浏览器来解析执行的,通过页面的展示内容与用户互动,所以Web标准 ...

  5. Windows Store无法联网时安装WSL

    Windows Store无法联网时安装WSL 1 打开powershell 输入命令: Invoke-WebRequest -Uri https://aka.ms/wsl-ubuntu-1604 - ...

  6. Oracle - 如何查找指定字符串所出现的表

    需求:举个例子,oracle测试库的scott用户下面的有张emp表,emp表的ename列中有一行数据为'CLARK'.红色标记部分. SQL> select * from scott.emp ...

  7. MongoDB for OPS 03:分片 shard 集群

    写在前面的话 上一节的复制集也就是主从能够解决我们高可用和数据安全性问题,但是无法解决我们的性能瓶颈问题.所以针对性能瓶颈,我们需要采用分布式架构,也就是分片集群,sharding cluster! ...

  8. nginx: [emerg] unknown directive “ ” in /usr/local/nginx/nginx.conf.conf:xx报错处理

    当我们在修改Nginx的配置文件,然后加载配置文件./nginx -s reload   报错类似的错误, nginx: [emerg] unknown directive “ ” in /usr/l ...

  9. Fiddler 插件开发,使用 WPF 作为 UI 控件

    Fiddler 插件的 UI,本身使用的 WinForm,这个例子是使用 WinForm 中的 WPF 容器,将 WPF 控件作为 Fiddler 插件的 UI 使用. 为什么使用 WPF ?为了自适 ...

  10. vue-商品管理案例改进

    案例改进 vue-resource全局配置: Vue.http.options.root = 'http://vue.studyit.io/'; 全局启用 emulateJSON 选项 Vue.htt ...