分类 大观园 下的文章

最近把环境升级为php7发现在连接sqlser的时候无法使用驱动了


页面错误




后来查看文档发现:php7应该采用Server=xxxx;DataBase=xxxxx


解决方式:


DB_DSN_TWO           = dblib:host=*.*.*.*;dbname=mssqla

修改为:

DB_DSN_TWO           = sqlsrv:Server=*.*.*.*;DataBase=mssqla

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

php7连接 sqlserver踩过的坑,could not find driver解决方式

https://blog.51cto.com/u_15072918/3376738


⽅法⼀:使⽤windows⾃带的命令sc

⾸先我们要打开cmd,下⾯的命令在cmd中运⾏,最好使⽤管理员运⾏cmd

注册服务:

sc create ceshi binpath= D:\ceshi\ceshi.exe type= own start= auto displayname= ceshi

binpath:你的应⽤程序所在的路径。

displayname:服务显⽰的名称

如何判断服务是否注册成功:

在cmd中输⼊

打开系统服务,查看是否出现

名称的服务(即

后⾯的参数,我这⾥是

services.msc

ceshi

displayname=

ceshi

or

按下⾯的⽅式尝试启动服务

启动服务

net start ceshi

停⽌服务

net stop ceshi

删除服务

sc delete "ceshi"

⽅法⼆:使⽤instsrv+srvany

使⽤⽅法⼀,如果你的exe不符合服务的规范,启动有可能会失败

这种情况下,我们使⽤instsrv+srvany

什么是instsrv+srvany

instsrv.exe.exe和srvany.exe是Microsoft Windows Resource Kits⼯具集中的两个实⽤⼯具,这两个⼯具配合使⽤可以将任何的exe应⽤程序

作为window服务运⾏。

srany.exe是注册程序的服务外壳,可以通过它让应⽤程序以system账号启动,可以使应⽤程序作为windows的服务随机器启动⽽⾃动启

动,从⽽隐藏不必要的窗⼝

下载:

window64位系统

安装

1. 将instsrv.exe和srvany.exe拷贝到

⽬录下

C:\WINDOWS\SysWOW64

2. 打开cmd

3. 运⾏命令:

instsrv MyService C:\WINDOWS\SysWOW64\srvany.exe

注意:

是⾃定义的服务的名称,可以根据应⽤程序名称任意更改


防火墙系统有助于阻止对计算机资源进行未经授权的访问。如果防火墙已打开但却未正确配置,则可能会阻止连接 SQL Server。

若要通过防火墙访问 SQL Server 实例,必须在运行 SQL Server 的计算机上配置防火墙以允许访问。防火墙是 Microsoft Windows 的一个组件。也可以安装其他公司的防火墙。本主题讨论如何配置 Windows 防火墙,不过所述基本原理也适用于其他防火墙程序。

注意注意

本主题概述了防火墙配置并汇总了 SQL Server 管理员所需的信息。有关防火墙的详细信息以及权威信息,请参阅防火墙文档,例如 Windows Firewall with Advanced Security and IPsec(高级安全 Windows 防火墙和 IPsec)和 Windows Firewall with Advanced Security - Content Roadmap(高级安全 Windows 防火墙 - 内容概览)。

用户如果熟悉“控制面板”中的**“Windows 防火墙”**项,熟悉高级安全 Windows 防火墙的 Microsoft 管理控制台 (MMC) 管理单元,以及知道要配置哪些防火墙设置,可以直接转至以下列表中的主题:

主题内容

本主题包含以下部分:

基本防火墙信息

默认防火墙设置

用于配置防火墙的程序

数据库引擎使用的端口

Analysis Services 使用的端口

Reporting Services 使用的端口

Integration Services 使用的端口

其他端口和服务

与其他防火墙规则的交互

防火墙配置文件概述

使用“控制面板”中的“Windows 防火墙”项进行其他防火墙设置

使用高级安全 Windows 防火墙管理单元

解决防火墙设置问题

基本防火墙信息

防火墙的工作原理是检查传入的数据包并将其与一组规则进行比较。如果规则允许数据包通过,则防火墙将把该数据包传递给 TCP/IP 协议以进行其他处理。如果规则不允许数据包通过,则防火墙将丢弃该数据包,此外,如果已启用日志记录,防火墙还将在防火墙日志文件中创建一个条目。

允许的通信的列表采用以下某种方式进行填充:

  • 当启用了防火墙的计算机开始通信时,防火墙会在列表中创建一个条目以便允许响应。传入响应将被视为请求的通信,并且您不必对此进行配置。

  • 管理员可配置防火墙例外。这样将允许访问计算机上运行的指定程序,或访问计算机上的指定连接端口。在此情况下,当计算机充当服务器、侦听器或对等方时,将会接受未经请求的传入通信。必须完成此类配置才能连接到 SQL Server。

选择防火墙策略远较只是确定应打开还是关闭给定端口复杂。当为企业设计防火墙策略时,请确保考虑所有可供使用的规则和配置选项。本主题不讨论所有可能的防火墙选项。建议您查看以下文档:

Getting Started with Windows Firewall with Advanced Security in Windows Vista and Windows Server 2008(Windows Vista 和 Windows Server 2008 中的高级安全 Windows 防火墙入门)

Windows Firewall with Advanced Security Design Guide(高级安全 Windows 防火墙设计指南)

Introduction to Server and Domain Isolation(服务器和域隔离简介)

默认防火墙设置

规划防火墙配置的第一步是确定操作系统的防火墙的当前状态。如果操作系统是从早期版本升级而来,则可能已保留以前的防火墙设置。此外,防火墙设置可能已由其他管理员或域中的组策略更改。不过,默认设置如下所示:

  • Windows Server 2008

    防火墙打开并禁止远程连接。

  • Windows Server 2003

    防火墙关闭。管理员应考虑打开防火墙。

  • Windows Vista

    防火墙打开并禁止远程连接。

  • Windows XP Service Pack 2 或更高版本

    防火墙打开并禁止远程连接。

  • Windows XP Service Pack 1 或更低版本

    防火墙关闭,应打开防火墙。

注意注意

打开防火墙将影响访问此计算机的其他程序,例如文件和打印共享以及远程桌面连接。在调整防火墙设置之前,管理员应对计算机上运行的所有应用程序加以考虑。

用于配置防火墙的程序

有三种配置 Windows 防火墙设置的方式。

  • “控制面板”中的“Windows 防火墙”项

    可以从“控制面板”打开**“Windows 防火墙”**项。

    重要说明重要提示

    在“控制面板”中的“Windows 防火墙”项中所做的更改只会影响当前配置文件。诸如便携式计算机之类的移动设备不应使用“控制面板”中的“Windows 防火墙”项,因为当以其他配置连接设备时配置文件可能会更改。这样以前配置的配置文件将失效。有关配置文件的详细信息,请参阅 Getting Started with Windows Firewall with Advanced Security in Windows Vista and Windows Server 2008(Windows Vista 和 Windows Server 2008 中的高级安全 Windows 防火墙入门)。

    使用“控制面板”中的**“Windows 防火墙”**项可配置基本选项。其中包括:

    “控制面板”中的**“Windows 防火墙”项最适合于防火墙配置经验不足的用户以及要为非移动的计算机配置基本防火墙选项的用户。也可以采用以下步骤通过 run 命令打开“控制面板”中的“Windows 防火墙”**项:

    打开“Windows 防火墙”项

    • 打开或关闭“控制面板”中的**“Windows 防火墙”**项

    • 启用和禁用规则

    • 配置例外的端口和程序

    • 设置一些范围限制

    1. 在**“开始”菜单上,单击“运行”**,然后输入 firewall.cpl。

    2. 单击“确定”。

  • Microsoft 管理控制台 (MMC)

    使用高级安全 Windows 防火墙 MMC 管理单元可以配置更高级的防火墙设置。此管理单元仅可供 Microsoft Vista 和 Windows Server 2008 使用;不过,它以一种易于使用的方式呈现大多数防火墙选项,并且会显示所有防火墙配置文件。有关详细信息,请参阅本主题后面的使用高级安全 Windows 防火墙管理单元。

  • netsh

    管理员可以在命令提示符下使用 netsh.exe 工具配置和监视基于 Windows 的计算机,也可以使用批处理文件执行此操作**。**通过使用 netsh 工具,可以将输入的上下文命令定向到相应帮助器,然后由帮助器执行此命令。帮助器是一个动态链接库 (.dll) 文件,它通过对一种或多种服务、实用工具或协议提供配置、监视和支持来扩展 netsh 工具的功能。所有支持 SQL Server 的操作系统都具有防火墙帮助器。MicrosoftWindows Vista 和 Windows Server 2008 也具有称作 advfirewall 的高级防火墙帮助器。本主题不讨论有关使用 netsh 的详细信息。不过,所述配置选项中的许多选项都可以通过使用 netsh 加以配置。例如,在命令提示符下运行以下脚本,以打开 TCP 端口 1433:

    复制

    netsh firewall set portopening protocol = TCP port = 1433 name = SQLPort mode = ENABLE scope = SUBNET profile = CURRENT

    使用高级安全 Windows 防火墙帮助器的一个类似示例:

    复制

    netsh advfirewall firewall add rule name = SQLPort dir = in protocol = tcp action = allow localport = 1433 remoteip = localsubnet profile = DOMAIN

    有关使用 netsh 配置 SQL Server 的脚本,请参阅如何在运行 Windows XP Service Pack 2 的系统上使用脚本以编程方式打开端口供 SQL Server 使用。有关 netsh 的详细信息,请参阅以下链接:

SQL Server 使用的端口

下面几个表可有助于您确定 SQL Server 所使用的端口。

数据库引擎使用的端口

下表列出了数据库引擎经常使用的端口。

应用场景

端口

注释

通过 TCP 运行的 SQL Server 默认实例

TCP 端口 1433

这是允许通过防火墙的最常用端口。它适用于与默认数据库引擎安装或作为计算机上唯一运行实例的命名实例之间的例行连接。(命名实例具有特殊的注意事项。请参阅本主题后面的动态端口)。

采用默认配置的 SQL Server 命名实例

此 TCP 端口是在启动数据库引擎时确定的动态端口。

请参阅下面动态端口部分中的描述。当使用命名实例时,SQL Server Browser 服务可能需要 UDP 端口 1434。

配置为使用固定端口的 SQL Server 命名实例

由管理员配置的端口号。

请参阅下面动态端口部分中的描述。

专用管理员连接

对于默认实例,为 TCP 端口 1434。其他端口用于命名实例。有关端口号,请查看错误日志。

默认情况下,不会启用与专用管理员连接 (DAC) 的远程连接。若要启用远程 DAC,请使用外围应用配置器方面。有关详细信息,请参阅了解外围应用配置器

SQL Server Browser 服务

UDP 端口 1434

SQL Server Browser 服务用于侦听指向命名实例的传入连接,并为客户端提供与此命名实例对应的 TCP 端口号。通常,只要使用数据库引擎的命名实例,就会启动 SQL Server Browser 服务。如果客户端配置为连接到命名实例的特定端口,则不必启动 SQL Server Browser 服务。

通过 HTTP 端点运行的 SQL Server 实例。

可以在创建 HTTP 端点时指定。对于 CLEAR_PORT 通信,默认端口为 TCP 端口 80,对于 SSL_PORT 通信,默认端口为 443。

用于通过 URL 实现的 HTTP 连接。

通过 HTTPS 端点运行的 SQL Server 默认实例。

TCP 端口 443

用于通过 URL 实现的 HTTPS 连接。HTTPS 是使用安全套接字层 (SSL) 的 HTTP 连接。

Service Broker

TCP 端口 4022。若要验证使用的端口,请执行下面的查询:

SELECT name, protocol_desc, port, state_desc

FROM sys.tcp_endpoints

WHERE type_desc = 'SERVICE_BROKER'

对于 SQL ServerService Broker,没有默认端口,不过这是联机丛书示例中使用的常规配置。

数据库镜像

管理员选择的端口。若要确定此端口,请执行以下查询:

SELECT name, protocol_desc, port, state_desc FROM sys.tcp_endpoints

WHERE type_desc = 'DATABASE_MIRRORING'

对于数据库镜像,没有默认端口,不过联机丛书示例使用 TCP 端口 7022。务必避免中断正在使用的镜像端点,尤其是处于带有自动故障转移功能的高安全模式下时。防火墙配置必须避免破坏仲裁。有关详细信息,请参阅指定服务器网络地址(数据库镜像)

复制

与 SQL Server 的复制连接使用典型的常规数据库引擎端口(供默认实例使用的 TCP 端口 1433 等)

复制快照的 Web 同步和 FTP/UNC 访问要求在防火墙上打开其他端口。为了将初始数据和架构从一个位置传输到另一个位置,复制可以使用 FTP(TCP 端口 21)或者通过 HTTP(TCP 端口 80)或文件和打印共享(TCP 端口 137、138 或 139)进行的同步。

对于通过 HTTP 进行的同步,复制使用 IIS 端点(其端口可配置,但默认情况下为端口 80),不过 IIS 进程通过标准端口(对于默认实例为 1433)连接到后端 SQL Server。

在使用 FTP 进行 Web 同步期间,FTP 传输是在 IIS 和 SQL Server 发布服务器之间进行,而非在订阅服务器和 IIS 之间进行。

有关详细信息,请参阅Configuring Microsoft Internet Security and Acceleration Server for Microsoft SQL Server 2000 Replication over the Internet(为通过 Internet 进行的 Microsoft SQL Server 2000 复制配置 Microsoft Internet Security and Acceleration Server)。

Transact-SQL 调试器

TCP 端口 135

请参阅端口 135 的特殊注意事项

可能还需要 IPsec 例外。

如果使用 Visual Studio,则在 Visual Studio 主机计算机上,还必须将 Devenv.exe 添加到“例外”列表中并打开 TCP 端口 135。

如果使用 Management Studio,则在 Management Studio 主机计算机上,还必须将 ssms.exe 添加到“例外”列表中并打开 TCP 端口 135。有关详细信息,请参阅配置和启动 Transact-SQL 调试器

有关为数据库引擎配置 Windows 防火墙的分步说明,请参阅如何为数据库引擎访问配置 Windows 防火墙

动态端口

默认情况下,命名实例(包括 SQL Server Express)使用动态端口。也就是说,每次启动数据库引擎时,它都将确定一个可用端口并使用此端口号。如果命名实例是安装的唯一数据库引擎实例,则它可能使用 TCP 端口 1433。如果还安装了其他数据库引擎实例,则它可能会使用其他 TCP 端口。由于所选端口可能会在每次启动数据库引擎时更改,因而很难配置防火墙以启用对正确端口号的访问。因此,如果使用防火墙,则建议重新配置数据库引擎以每次都使用同一端口号。这称为固定端口或静态端口。有关详细信息,请参阅配置固定端口

另一种配置命名实例以侦听固定端口的方法是在防火墙中为诸如 sqlservr.exe 之类的 SQL Server 程序创建例外(针对数据库引擎)。这会非常方便,但当使用高级安全 Windows 防火墙 MMC 管理单元时,端口号将不会显示在“入站规则”页的“本地端口”列中。这会使审核哪些端口处于打开状态变得更为困难。另一注意事项是 Service Pack 或累积的更新可能会更改 SQL Server 可执行文件的路径,这将使防火墙规则作废。

注意注意

下面的过程将使用“控制面板”中的“Windows 防火墙”项。高级安全 Windows 防火墙 MMC 管理单元可以配置更复杂的规则。其中包括配置服务例外,这对于提供深度防御会非常有用。请参阅下面的使用高级安全 Windows 防火墙管理单元。

使用“控制面板”中的“Windows 防火墙”项向防火墙添加程序例外。

  1. 在“控制面板”中的**“Windows 防火墙”项的“例外”选项卡上,单击“添加程序”**。

  2. 浏览到要允许其通过防火墙的 SQL Server 实例的所在位置,例如 C:\Program Files\Microsoft SQL Server\MSSQL10.<实例名称>\MSSQL\Binn,选择 sqlservr.exe,然后单击**“打开”**。

  3. 单击“确定”。

有关端点的详细信息,请参阅网络协议和 TDS 端点端点目录视图 (Transact-SQL)

Analysis Services 使用的端口

下表列出了 Analysis Services 经常使用的端口。

功能

端口

注释

Analysis Services

对于默认实例,为 TCP 端口 2383。

默认 Analysis Services 实例的标准端口。

SQL Server Browser 服务

仅 Analysis Services 命名实例需要的 TCP 端口 2382

客户端向 Analysis Services 命名实例发出不指定端口号的连接请求时,该连接请求将被转到端口 2382,即 SQL Server Browser 侦听的端口。然后,SQL Server Browser 将此请求重定向到该命名实例所使用的端口。

配置为通过 IIS/HTTP 使用的 Analysis Services

(PivotTable® Service 使用 HTTP 或 HTTPS)

TCP 端口 80

用于通过 URL 实现的 HTTP 连接。

配置为通过 IIS/HTTPS 使用的 Analysis Services

(PivotTable® Service 使用 HTTP 或 HTTPS)

TCP 端口 443

用于通过 URL 实现的 HTTPS 连接。HTTPS 是使用安全套接字层 (SSL) 的 HTTP 连接。

如果用户通过 IIS 和 Internet 访问 Analysis Services,则必须打开 IIS 侦听的端口,并在客户端连接字符串中指定该端口。在这种情况下,不需要打开任何端口就能直接访问 Analysis Services。默认端口 2389 和端口 2382 应当与所有其他并非必需的端口一起受到限制。

有关为 Analysis Services 配置 Windows 防火墙的分步说明,请参阅如何为 Analysis Services 访问配置 Windows 防火墙

Reporting Services 使用的端口

下表列出了 Reporting Services 经常使用的端口。

功能

端口

注释

Reporting Services Web 服务

TCP 端口 80

用于通过 URL 实现的与 Reporting Services 之间的 HTTP 连接。建议不要使用预配置规则“万维网服务(HTTP)”。有关详细信息,请参阅下面的与其他防火墙规则的交互部分。

配置为通过 HTTPS 使用的 Reporting Services

TCP 端口 443

用于通过 URL 实现的 HTTPS 连接。HTTPS 是使用安全套接字层 (SSL) 的 HTTP 连接。建议不要使用预配置规则“安全万维网服务(HTTPS)”。有关详细信息,请参阅下面的与其他防火墙规则的交互部分。

当 Reporting Services 连接到数据库引擎或 Analysis Services 实例时,还必须为这些服务打开相应的端口。有关为 Reporting Services 配置 Windows 防火墙的分步说明,请参阅如何将防火墙配置为允许报表服务器访问

Integration Services 使用的端口

下表列出了 Integration Services 服务经常使用的端口。

功能

端口

注释

Microsoft 远程过程调用 (MS RPC)

由 Integration Services 运行时使用。

TCP 端口 135

请参阅端口 135 的特殊注意事项

Integration Services 服务在端口 135 上使用 DCOM。服务控制管理器使用端口 135 执行诸如启动和停止 Integration Services 服务以及将控制请求传送到正在运行的服务等任务。此端口号无法更改。

仅当从 Management Studio 或自定义应用程序连接到远程 Integration Services 服务实例时,才需要打开此端口。

有关为 Integration Services 配置 Windows 防火墙的分步说明,请参阅为 Integration Services 访问配置 Windows 防火墙如何为 Integration Services 配置 Windows 防火墙

其他端口和服务

下表列出了 SQL Server 可能依赖的一些端口和服务。

应用场景

端口

注释

Windows Management Instrumentation

有关 WMI 的详细信息,请参阅用于配置管理的 WMI 提供程序的概念

WMI 作为共享服务主机的一部分使用通过 DCOM 分配的端口运行。WMI 可能使用 TCP 端口 135。

请参阅端口 135 的特殊注意事项

SQL Server 配置管理器使用 WMI 列出和管理各个服务。建议使用预配置规则组 Windows Management Instrumentation (WMI)。有关详细信息,请参阅下面的与其他防火墙规则的交互部分。

Microsoft 分布式事务处理协调器 (MS DTC)

TCP 端口 135

请参阅端口 135 的特殊注意事项

如果应用程序使用分布式事务处理,可能必须要将防火墙配置为允许 Microsoft 分布式事务处理协调器 (MS DTC) 在不同的 MS DTC 实例之间以及在 MS DTC 和资源管理器(如 SQL Server)之间进行通信。建议使用预配置的“分布式事务处理协调器”规则组。

当在单独的资源组中为整个群集配置单个共享 MS DTC 时,应当将 sqlservr.exe 作为异常添加到防火墙。

Management Studio 中的浏览按钮使用 UDP 连接到 SQL Server Browser 服务。有关详细信息,请参阅 SQL Server Browser 服务

UDP 端口 1434

UDP 是一种无连接协议。

防火墙具有一个名为 UnicastResponsesToMulticastBroadcastDisabled Property of the INetFwProfile Interface(INetFwProfile 接口的 UnicastResponsesToMulticastBroadcastDisabled 属性)的设置,用于控制防火墙在对广播(或多播)UDP 请求的单播响应方面的行为。 它有以下两种行为:

  • 如果此设置为 TRUE,则根本不允许对广播进行任何单播响应。枚举服务将失败。

  • 如果此设置为 FALSE(默认值),则允许单播响应 3 秒钟。此时间长度不可配置。在堵塞或长时间滞后的网络中,或者对于负载很重的服务器,尝试枚举 SQL Server 实例可能会返回部分列表,这可能会误导用户。

IPsec 通信

UDP 端口 500 和 UDP 端口 4500

如果域策略要求通过 IPSec 进行网络通信,还必须将 UDP 端口 4500 和 UDP 端口 500 添加到例外列表。使用 Windows 防火墙管理单元中的“新建入站规则向导”可以选择 IPsec。有关详细信息,请参阅下面的使用高级安全 Windows 防火墙管理单元。

将 Windows 身份验证用于可信域

必须将防火墙配置为允许身份验证请求。

有关详细信息,请参阅如何为域和信任关系配置防火墙

SQL Server 和 Windows 群集

群集需要与 SQL Server 不直接相关的其他端口。

有关详细信息,请参阅 Enable a network for cluster use(启用网络以供群集使用)。

HTTP 服务器 API (HTTP.SYS) 中保留的 URL 命名空间

很可能为 TCP 端口 80,但可以配置为其他端口。有关常规信息,请参阅配置 HTTP 和 HTTPS

有关使用 HttpCfg.exe 保留 HTTP.SYS 端点的 SQL Server 特定信息,请参阅使用 Http.sys 预留 URL 命名空间

端口 135 的特殊注意事项

将 RPC 与 TCP/IP 或 UDP/IP 一起用作传输方式时,通常会根据需要为系统服务动态分配入站端口。将使用端口号大于 1024 的 TCP/IP 和 UDP/IP 端口。这些端口通常被不正式地称为“随机 RPC 端口”。在这些情况下,RPC 客户端依赖 RPC 端点映射器来通知它们为服务器分配了哪些动态端口。对于一些基于 RPC 的服务,可以配置特定端口,而非让 RPC 动态分配一个端口。此外,还可以将 RPC 动态分配的端口范围限制为一个较小的范围,不管何种服务均可如此。由于许多服务都使用端口 135,它经常受到恶意用户的攻击。当打开端口 135 时,请考虑限制防火墙规则的作用范围。

有关端口 135 的详细信息,请参阅以下参考内容:

与其他防火墙规则的交互

Windows 防火墙使用规则和规则组建立其配置。每个规则或规则组通常与特定程序或服务相关,并且该程序和服务可以在您不知道的情况下修改或删除相应规则。例如,规则组**“万维网服务(HTTP)”“安全万维网服务(HTTPS)”**与 IIS 相关。启用这些规则将打开端口 80 和 443,并且如果启用这些规则,则依赖端口 80 和 443 的 SQL Server 功能将能正常工作。不过,配置 IIS 的管理员可能会修改或禁用这些规则。因此,如果您为 SQL Server 使用端口 80 或端口 443,则应创建您自己的规则或规则组,这样可以独立于其他 IIS 规则之外维护您的所需端口配置。

高级安全 Windows 防火墙 MMC 管理单元允许符合任何适用允许规则的所有通信。因此,如果有两个均应用于端口 80 的规则(具有不同的参数),则符合任一规则的通信都将得到允许。因此,如果一个规则允许来自本地子网的通过端口 80 的通信而另一个规则允许来自任意地址的通信,则实际结果是不管通信来源是什么,所有通向端口 80 的通信都将得到允许。若要有效地管理对 SQL Server 的访问,管理员应定期查看服务器上启用的所有防火墙规则。

防火墙配置文件概述

Getting Started with Windows Firewall with Advanced Security in Windows Vista and Windows Server 2008(Windows Vista 和 Windows Server 2008 中的高级安全 Windows 防火墙入门)中的 Network location-aware host firewall(识别网络位置的主机防火墙)部分介绍了防火墙配置文件。为了进行汇总,Windows Vista 和 Windows Server 2008 可按照连接性、连接数和类别来识别并记住与它们连接的每个网络。

在高级安全 Windows 防火墙中有三种网络位置类型:

  • 域。Windows 可以验证对计算机所联接域的域控制器的访问。

  • 公共。除域网络之外,其他所有网络最初都归为公共网络一类。直接连到 Internet 的网络或者位于公共场所(如机场和咖啡店)的网络应保留为公共网络。

  • 专用。由用户或应用程序标识为专用的网络。只应将可信网络标识为专用网络。用户很可能希望将家庭网络或小型企业网络标识为专用网络。

管理员可以为每种网络位置类型创建一个配置文件,每个配置文件均包含不同的防火墙策略。在任何时候只能应用一个配置文件。应用配置文件的顺序如下:

  1. 如果要向计算机所属域的域控制器验证所有接口,则应用域配置文件。

  2. 如果要向域控制器验证所有接口或者所有接口均连接到归为专用网络位置一类的网络,则应用专用配置文件。

  3. 否则,应用公共配置文件。

使用高级安全 Windows 防火墙 MMC 管理单元查看和配置所有防火墙配置文件。“控制面板”中的**“Windows 防火墙”**项仅可配置当前配置文件。

使用“控制面板”中的“Windows 防火墙”项进行其他防火墙设置

添加到防火墙的例外可以限制端口仅对来自特定计算机或本地子网的传入连接打开。这种对端口打开范围的限制可以大大减少计算机对恶意用户的暴露程度,因此建议采用此类限制。

注意注意

使用“控制面板”中的“Windows 防火墙”项仅可配置当前防火墙配置文件。

使用“控制面板”中的“Windows 防火墙”项更改防火墙例外的范围

  1. 在“控制面板”中的**“Windows 防火墙”项的“例外”选项卡上,选择一个程序或端口,然后单击“属性”“编辑”**。

  2. 在**“编辑程序”“编辑端口”对话框中,单击“更改范围”**。

  3. 选择以下选项之一:

    只有具有列表中的 IP 地址的计算机可以连接。这是比**“仅我的网络(子网)”更安全的设置,不过,使用 DHCP 的客户端计算机有时候会更改它们的 IP 地址。这样的话,目标计算机将无法连接。另一台您未打算授权的计算机可能接受这一列出的 IP 地址,从而能够连接。如果希望列出其他配置为使用固定 IP 地址的服务器,则可能最好选择“自定义列表”**选项;不过,入侵者可能会假冒 IP 地址。限制防火墙规则的作用大小取决于网络基础结构的优劣。

    • 任何计算机(包括 Internet 上的计算机)

      建议不要使用。这将使任何可寻址到您计算机的计算机都可以连接到指定程序或端口。如果要允许向 Internet 上的匿名用户呈现信息,则此设置可能是必需的,不过这会增加您对于恶意用户的暴露程度。如果启用此设置,同时还允许网络地址转换 (NAT) 遍历(例如“允许边缘遍历”选项),则会进一步增加您的暴露程度。

    • 仅我的网络(子网)

      这是比**“任何计算机”**更安全的设置。只有网络的本地子网中的计算机可以连接到相应程序或端口。

    • 自定义列表:

使用高级安全 Windows 防火墙管理单元

在运行 Vista 或 Windows Server 2008 的计算机上,可以通过使用高级安全 Windows 防火墙 MMC 管理单元来配置其他高级防火墙设置。此管理单元包括规则向导,并提供“控制面板”中的**“Windows 防火墙”**项中未提供的附加设置。这些设置包括:

  • 加密设置

  • 服务限制

  • 按名称限制计算机的连接

  • 限制连接到特定用户或配置文件

  • 边缘遍历允许通信绕过网络地址转换 (NAT) 路由器

  • 配置出站规则

  • 配置安全规则

  • 传入连接需要 IPsec

使用新建规则向导创建新防火墙规则

  1. 在“开始”菜单上,单击**“运行”,键入 WF.msc,然后单击“确定”**。

  2. 在**“高级安全 Windows 防火墙”的左窗格中,右键单击“入站规则”,然后单击“新建规则”**。

  3. 使用所需设置完成**“新建入站规则向导”**。

解决防火墙设置问题

以下工具和方法对于解决防火墙问题会非常有用:

  • 有效端口状态是与端口相关的所有规则的总体作用结果。当试图禁止通过某一端口访问时,查看引用该端口号的所有规则将会非常有用。为此,请使用高级安全 Windows 防火墙 MMC 管理单元,并按端口号对入站和出站规则进行排序。

  • 查看在运行 SQL Server 的计算机上处于活动状态的端口。此检查过程包括确认正在侦听的 TCP/IP 端口,同时确认这些端口的状态。

    若要验证哪些端口正在侦听,请使用 netstat 命令行实用工具。除了显示活动 TCP 连接以外,netstat 实用工具还将显示多种 IP 统计信息和其他信息。

    列出正在侦听的 TCP/IP 端口

    1. 打开命令提示符窗口。

    2. 在命令提示符下,键入 netstat -n -a。

      -n 开关指示 netstat 以数字方式显示活动 TCP 连接的地址和端口号。-a 开关指示 netstat 显示计算机正在侦听的 TCP 和 UDP 端口。

  • PortQry 实用工具可用于报告 TCP/IP 端口的状态(正在侦听、未在侦听或已筛选)。(对于已筛选状态,端口可能正在侦听,也可能未在侦听;此状态指示实用工具没有收到端口的响应。)PortQry 实用工具可以从 Microsoft 下载中心下载。


--使用sp_addlinkedserver增加链接
EXEC sys.sp_addlinkedserver 
     @server='127.0.0.1', --被访问的服务器别名(习惯上直接使用目标服务器IP,或者取别名)
	 @srvproduct='',
	 @provider='SQLOLEDB',
	 @datasrc='127.0.0.1'--要访问的服务器IP(SQL Server实例名)

--使用sp_addlinkedsrvlogin来增加用户登录链接
EXEC sys.sp_addlinkedsrvlogin
    '127.0.0.1',--被访问的服务器别名(即上面sp_addlinkedserver中@server的值)
	'false',
	NULL,
	'sa',--用户名
	'123456'--密码


前言

随着互联网技术的发展,基于B/S结构的软件架构,呈现出多样化,所涉及到的富客户端、Webservice、WEB 2.0、HTML5等技术也粉墨登场,本文将介绍基于OpenText Cordys产品的SOA体系架构和相关开发技术,为开发人员分享另一种软件系统开发实践。


其中,富客户模型将界面分解成许多的既可以和用户直接交互又可以和服务器进行通信的小单元模块,所涉及到开发语言是JavaScript,以及围绕HTML DOM开发动态网页。


关于SOA

SOA是面向服务的体系结构,它将应用程序的不同功能单元(称为服务)通过这些服务之间定义良好的接口和契约联系起来。接口是采用中立的方式进行定义的,它应该独立于实现服务的硬件平台、操作系统和编程语言。这使得构建在各种各样的系统中的服务可以使用一种统一和通用的方式进行交互。


面向服务架构,它可以根据需求通过网络对松散耦合的粗粒度应用组件进行分布式部署、组合和使用。服务层是SOA的基础,可以直接被应用调用,从而有效控制系统中与软件代理交互的人为依赖性。


SOA是一种粗粒度、松耦合服务架构,服务之间通过简单、精确定义接口进行通讯,不涉及底层编程接口和通讯模型。SOA可以看作是B/S模型、XML(标准通用标记语言的子集)/Web Service技术之后的自然延伸。


SOA的核心要素

要准确全面理解SOA,首先必须理解SOA的核心要素:




SOA的目标就是实现灵活可变的IT系统。要达到灵活性,通过三个途径来解决:标准化封装、复用、松耦合可编排。


SOA实践

在工程上,SOA的重点是服务建模和基于SOA的设计原则进行架构决策和设计。


从建模和设计的角度来说,SOA更多地侧重在业务层次上,也就是通过服务建模将业务组件化为服务模型,它是业务架构的底层,是技术架构的顶层,承上启下,是灵活的业务模型和IT之间的桥梁,保证二者之间的”可追溯性”。从这里往下,是基于已有的方法,比如OO/CBD来进行的。从架构的层次上,SOA更多地侧重于如何将企业范围内多个分布的系统(包括已有系统/遗留系统)连接起来(ESB,Adapter/Connector),如何将它们的功能、数据转化为服务,如何通过服务中介机制(ESB,Service Registry)保证服务之间以松散耦合的方式交互,如何组装(集成)服务为流程,如何管理服务和流程等。


SOA的架构特性,使得敏捷过程非常适合SOA项目的实施。在SOA架构中,服务的独立性,使得每个服务可以被单独地开发、测试和集成。一个企业中的IT系统,如果是基于SOA的计算环境,那么这个环境就是一个服务的生态系统,每开发一个服务,马上就可以独立部署,成为这个生态系统中的一部分。这样既很好地支持了持续集成、持续质量保证,又很好地使得这个服务马上产生业务价值,而不是苦等其他服务的到位。


服务的松耦合与无状态

松耦合——服务的粗细粒度:

一般主张使用粗粒度

显然,为了实现最大程度重用,创建细粒度的服务也是必要的。

无状态

服务应该是独立的、自包含的请求,在实现时它不需要获取从一个请求到另一个请求的信息或状态。服务不应该依赖于其他服务的上下文和状态。


服务设计简单化

提升了运算能力和效率

重用性

Web service

Web service是一个平台独立的,低耦合的,自包含的、基于可编程的web的应用程序,可使用开放的XML(标准通用标记语言下的一个子集)标准来描述、发布、发现、协调和配置这些应用程序,用于开发分布式的互操作的应用程序。


WebService三要素:

SOAP用来描述传递信息的格式;

WSDL(WebServicesDescriptionLanguage) 用来描述如何访问具体的接口;

UDDI(UniversalDescriptionDiscovery andIntegration)用来管理,分发,查询。


Web Services 的理解及SOAP、WSDL、UDDI的关系

Web Services 是一个可以将应用程序变为web应用程序,将自己本地的应用程序信息通过网络,发布到网络当中,让别人通过浏览器等访问本地的信息。


SOAP 是定义访问Web Services 的协议,也就是哪些是可以访问的,怎样的格式才能够访问,返回的格式又是什么样的,这些都是SOAP定义的。

WSDL 是描述SOAP协议的具体语言,用WSDL实现SOAP协议,把它写成文件,直接访问。

UDDI,是把这些web services 收集和存储起来,这样当别人访问这些信息的时候就从UDDI中查找,看有没有这个信息存在。

简单对象访问协议 (SOAP)

简单对象访问协议是交换数据的一种协议规范,是一种轻量的、简单的、基于XML的协议,它被设计成在WEB上交换结构化的和固化的信息。通常,使用 HTTP 作为传输协议。


SOAP 消息包含以下元素:


Envelope:必需的元素,用于将文档标识为 SOAP 消息

Header:包含应用程序特定的信息

Body:必需的元素,定义调用和响应信息

Fault:包含有关出现的错误的信息

SOAP 内容可由 WSDL 文件确定。

关于WEB服务和网页

WEB服务

Apache HTTP Server(简称Apache),是Apache软件基金会的一个开放源代码的网页服务器,可以在大多数电脑操作系统中运行,由于其具有的跨平台性和安全性,被广泛使用,是最流行的Web服务器端软件之一。


HTML网页

HTML DOM

HTML DOM是HTML Document Object Model(文档对象模型)的缩写,HTML DOM则是专门适用于HTML/XHTML的文档对象模型。熟悉软件开发的人员可以将HTML DOM理解为网页的API。它将网页中的各个元素都看作一个个对象,从而使网页中的元素也可以被计算机语言获取或者编辑。 例如Javascript就可以利用HTML DOM动态的修改网页。


HTML网页与WEB服务

HTML网页部署在Apache HTTP Server上,并可以携带JavaScript编写的文件(.JS),以及样式文件(.CSS)、图片等。


OpenText Cordys BOP 4 产品架构

Cordys BOP是完全构建在标准、前瞻的架构之上,从一开始就设计成业务运营的支撑平台。客户可以利用BOP平台的SOA架构和完整的BPM能力,并与现有或新建的共享服务组合在一起,具有优异的兼容性,构建完整的业务运营环境。Cordys BOP不仅满足面向业务层面的流程建模与设计,还包括将业务流程真正落地实现,从而驱动企业内部的创新、敏捷性。




产品重要构成:


SOA Grid:包含通常意义上的ESB模块,以及一些额外的功能,如安全文档传输与数据同步。由于Cordys是一个彻底的SOA体系架构,采用标准的Web服务,因此上层的BPM和CAF也可以不用Cordys自身的ESB,而是和第三方的ESB无缝集成,对第三方ESB开放出来的Web服务,进行组合与流转;

BPM:一体化的建模、执行、监控环境,也就是通常意义上的业务流程管理工具。

产品主要特点:


一体化平台,包含了集成、业务流程管理以及复合应用开发

通过协同工作工间真正实现了业务与IT人员的协同

支持任何类型的流程,包括工作流、集成流程以及混合流程,并提供端到端的监控

完全支持开放标准,提供了高可用和可线性扩展的架构

Web访问原理

了解基于OpenText Cordys产品的Web访问原理,有助于设计、开发、运维等工作,也是建立另一种思维体系——简洁的SOA架构体系。




如上图Web访问过程图所示,简单描述如下:


客户端使用浏览器向Web服务器(Apache HTTP)发Soap请求(SOAP Request);

Web服务器通过Web Gateway,到LDap服务中查询Webservice接口(Webservice interface)查询提交是命名空间(Namespace)和操作方法(operation);

通过Webservice接口获取服务组(Service Group);

再获取服务连接点(Connection Point);

再通过连接点连接到服务容器(Service Container);

服务容器内包括应用连接器(Application Connector);

应用连接器连接到后台应用服务;

最后,返回Soap响应(SOAP Response)到客户端。

开发技术与系统架构层次

基于OpenText Cordys产品的SOA技术架构,相对来说是比较简洁方案,笔者所了解的SOA方案中,这个Cordys SOA方案是最简洁者之一。




Less Coding

在CORDYS上进行开发,与传统的基于J2EE或者.Net这样纯粹的代码开发环境有很大不同。一个最大的不同点就在于Less Coding这样的理念。传统的开发方式是基于三层架构体系完成的,即数据层、逻辑层、与展现层。中间的逻辑层需要且只能通过大量编码的形式完成。而CORDYS采用的是基于SOA与BPM的多层体系,除了部分Web Service的编写和页面Javascript需要涉及代码编程之外,其他各个部分的实现和开发均以建模为主。


CORDYS还原生提供多租户的支持,无需开发人员特意写代码,只要在CORDYS上开发的应用,本质上都是SaaS应用。


关于云计算支持

Gartner划分多租户模型如下图所示:




第7种多租户模型必须要在单个应用内部加入区分租户的业务逻辑,只能提供单一应用内部的多租户,而无法提供一个能开发各种多租户应用的开发和运行平台。CORDYS提供的是开发和运行平台,可以提供从第1-6种的多租户平台部署和技术支撑。


WS-AppServer数据模型

WS-AppServer数据模型有如下三种:标准数据模型、自定义类数据模型、复合类数据模型。


标准数据模型(Standard Class)

标准的数据模型直接映射数据库的表结构,在创建WS-AppServer Package时直接从数据库导入自动生成,每一个表创建一个Class并且存储在WS-AppServer Package中,表中每个字段对应Class中的一个属性。



自定义类数据模型(Custom Class)

自定义类模型是在标准模型无法满足特定业务逻辑需求的时候自定义的灵活类,既可以基于数据库,也可以不依赖于数据库,用户可以任意添加,修改,扩展业务逻辑来满足当前的需求。




复合类数据模型(Composite Class)

复合类是在标准类的基础上由多个标准类组合而成的复合类,在1:1,1:N,N:1的特定场合下特别适合使用。


生产运维及开发生态环境

生产运维环境

基于SOA架构体系,最小生产运维环境由生产环境、测试环境、运维开发环境构成。




开发环境

开发环境依赖配置管理服务器,控制代码在Cordys平台上和本地客户端(Eclipse)间传输,并保障代码版本一致。




参考:


1.部分资料来源于原Cordys培训材料。

————————————————

版权声明:本文为CSDN博主「肖永威」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。

原文链接:https://blog.csdn.net/xiaoyw71/article/details/46484743