为Azure DevOps Server (TFS) 配置安全访问(HTTPS with SSL)
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)的更多相关文章
- Azure DevOps Server (TFS) 代码库Repo管理培训
Repo是分布式代码库Git中的一个专用词,用于存储和管理开发团队中特定的源代码. 使用Git,可以协调整个团队的代码更改. 即使您只是一个开发人员,版本控制也可以帮助您在修复错误和开发新功能时保持井 ...
- 集成Azure DevOps Server(TFS) 与微软Teams
1.概述 Microsoft Teams是Office 365中团队协作的中心.将团队的所有聊天.会议.文件和应用程序放在一个位置.软件开发团队可以在一个专门的协作中心中即时访问他们所需的所有内容,T ...
- 还原Azure DevOps Server (TFS)中误删除的生成流水线
流水线历史记录 DevOps Server流水线的历史记录有完善的版本日志,用户可以随时回退到修改过程中的任何一个版本,还能比较差异.这个历史记录功能可以和代码库中的版本控制媲美. 图一:生成历史记录 ...
- Azure DevOps Server (TFS)中代码文件换行问题解决方案(Git)
之前写过一篇博客"探索TFS Git 库文件换行(CRLF)的处理方式",主要是针对TFVC代码库的. 下面这篇文章说明如何在TFS的Git库中处理代码换行的问题. 概述 在Azu ...
- 在Azure DevOps Server (TFS)的流水线中编译和测试Xcode移动应用(iPhone)
概述 Xcode是开发基于苹果macOS系统的桌面应用和移动应用的主要IDE工具.使用Azure DevOps Server (原名TFS)系统中的pipelines流水线功能,可以方便的集成Xcod ...
- 在Azure DevOps Server (TFS)中实现VUE项目的自动打包
概述 Vue.js(读音 /vjuː/, 类似于 view)是一个构建数据驱动的 web 界面的渐进式框架.由于它在数据绑定.页面展示和使用简单方面有很大的优势,逐渐被越来越多的前端开发团队使用.本文 ...
- 在Azure DevOps Server (TFS 2019) 流水线传递参数
变量概述 在Azure DevOps Server的流水线中,变量是衔接不同任务和不通代理之间的桥梁,它可以使相对松散.各自独立的任务之间相关影响并共享数据.在流水线中使用变量,可以在各任务之间相互调 ...
- Azure DevOps Server (TFS) 修改工作项附件大小限制
1. 问题描述 当上传工作项附件时,系统提示"附件大小限制" 2.解决方案 2.1 默认设置 默认情况下,Azure DevOps Service和Team Foundation ...
- 在Windows操作系统的文件管理器中集成Azure DevOps Server (TFS)工具菜单
故事场景 使用过SVN的用户,都知道在Windows的文件夹上点击鼠标右键,就会弹出Tortoise SVN的操作菜单(俗称小乌龟).通过这个功能,用户不需要打开SVN工具,可以直接在Windows的 ...
- Azure DevOps Server (TFS) 修改Git文件大小限制
签入Git的所有文件将永远保留在存储库中,限制大文件签入到代码库,可以增加磁盘使用效率,提高系统备份还原等日常维护的效率. 通过下面的设置,团队项目管理员可以阻止超过特定大小的文件进入存储库.如果推送 ...
随机推荐
- Java设计模式:Simple Factory(简单工厂)模式
概念定义 简单工厂(Simple Factory)模式,又称静态工厂方法(Static Factory Method)模式,即定义一个工厂类,根据传入的不同参数创建不同的产品实例,这些实例对象具有共同 ...
- Alpine Linux 安装 lxml Pillow 失败
lixm 需要编译安装,因此需要先安装gcc g++ RUN apk add --update --no-cache g++ gcc libxslt-dev python3-dev openssl-d ...
- Python中model转dict
问题 在query出来的行信息object中有一个dict变量,这个变量存储了字典信息 for u in session.query(User).all(): print u.__dict__ 但是这 ...
- wpf/winform获取windows10系统颜色和主题色
Windows10开始微软在系统颜色中添加了深色,对于UWP来说很轻松就能获取到系统当前的颜色和主题色,而对于Win32应用就没有那么直观了. 在wpf中,可以通过SystemParameters.W ...
- go-函数和错误处理
函数基本语法 func 函数名(形参列表)(返回值列表){ 执行语句 return 返回值列表 }//返回值可以没有可以有多个可以有一个 包 引入 为了解决两个程序员取得函数名同名的情况 原理 本质就 ...
- GO基础之函数
一.Go语言函数的格式 函数构成了代码执行的逻辑结构,在Go语言中,函数的基本组成为:关键字 func.函数名.参数列表.返回值.函数体和返回语句,每一个程序都包含很多的函数,函数是基本的代码块. 函 ...
- 剑指offer 12:二进制中1的个数
题目描述 输入一个整数,输出该数二进制表示中1的个数.其中负数用补码表示. 解法一:设置标志为flag=1,逐个位移至不同位置,比较是否为1. C++实现 class Solution { publi ...
- [转]Eclipse插件开发之基础篇(1) 插件开发的基础知识
原文地址:http://www.cnblogs.com/liuzhuo/archive/2010/08/13/eclipse_plugin_1_0_2.html 名词翻译 有一些名词在翻译的过程中可能 ...
- 用Toad for Oracle创建数据库表空间和用户
打开Toad, 1,菜单栏Session—>new Connection….打开如下窗口: 2,进入之后,菜单DatebaseàSechema Brower...找到Table Space(表 ...
- 学习:SpringCloud(一)
微服务: 微服务是一种架构模式或者一种架构风格,提倡将单一应用程序划分成一组小的服务==独立部署==,服务之间相互配合.相互协调,每个服务运行于自己的==进程==中. 服务与服务间采用轻量级通讯,如H ...