我正在尝试在我们公司实施一个Owncloud系统。 我拥有一个位于防火墙后面的内部networking服务器上的Owncloud系统。 通过导航到servername.company.co.nz/owncloud我可以在内部访问安装 我们有一个面向公众的IISnetworking服务器(SBS 2012)。 我想用它作为云安装的反向代理。 我已经阅读了一些关于如何在IIS上使用URL重写和ARR来实现这个function的文章和教程 – 特别是这个看起来是一个很好的开始: 基于域名主机的IIS 7反向代理服务器? 但到目前为止,我还没有能够创build任何反向代理规则的工作。 基本上,我想一个子域cloud.company.co.nz反向代理服务器的内部networking服务器pathserver.company.co.nz/owncloud一直未能弄清楚如何实现这一点。 我目前有一个新的网站在IIS服务器上绑定到cloud.company.co.nz主机名,但这是我所能做到的,而不用敲开我们的Exchange Web服务。 请记住我是一个IIS新手。 任何帮助在这个阶段都非常受欢迎。 编辑1: 根据@ jotap的build议,我的web.config现在看起来像这样。 但是,我得到的只是一个503错误。 任何想法,为什么我会得到这个? 另外,我应该在哪里寻找日志等方面的线索? 干杯 <?xml version="1.0" encoding="UTF-8"?> <configuration> <system.webServer> <rewrite> <rules> <rule name="ReverseProxyInboundRule1" enabled="false" stopProcessing="true"> <match url="(.*)" /> <action type="Rewrite" url="http://1.2.3.4/owncloud{R:1}" /> </rule> </rules> <outboundRules> <rule name="ReverseProxyOutboundRule1" preCondition="ResponseIsHtml1" enabled="false"> <match filterByTags="A, Form, Img" pattern="^http(s)?://1.2.3.4/owncloud/(.*)" /> […]
是否有任何官方文档,说明当IIS应用程序池停止时(或者通过UI或以编程方式),进行中的请求会发生什么? 我怀疑一个AppPool被“优雅地”阻止了,排除了所有活动的请求,但是我很想让我稍微受过教育的猜测得到证实。
我想使现有的PHP网站(Apache)在IIS 8.5下的虚拟文件夹上运行。 在一些不错的在线工具的帮助下,我翻译了下面的.htaccess内容: <IfModule mod_rewrite.c> RewriteEngine On RewriteBase / RewriteRule ^index\.php$ – [L] RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule . /index.php [L] </IfModule> 到web.config: <rule name="rule 1" stopProcessing="true"> <match url="^index\.php$" /> <action type="Rewrite" url="/-" /> </rule> <rule name="rule 2" stopProcessing="true"> <match url="." /> <action type="Rewrite" url="//index.php" /> </rule> 这适用于某些url,如http://www.my_new_website.com/ 。 但是,我的目标是使本网站运行在ASP.NET Web应用程序下的虚拟目录中,例如http://www.my_asp_net_website/php_app/ 。 因此,我在IISpipe理器中创build了一个虚拟目录“php_app”,指向目录C:\ […]
我有一个IIS 8.0上运行的ASP.NET MVC 5应用程序。 应用程序池运行在域用户下,fi IISPoolUser 。 匿名authentication也使用这个标识。 我给了根池文件夹( C:\inetpub\wwwroot )的完全控制权限,一切正常。 现在,我想启用Windows身份validation。 当某人(fi, WebUser )尝试访问此应用程序时,他将获得login提示对话框,然后获取401 Unathorized – “由于凭据无效而导致访问被拒绝”错误。 浏览器发送适当的身份validation标头 – 问题与目录访问有关。 如果我授予用户WebUser到文件夹C:\inetpub\wwwroot权限,那么它工作正常。 ASP.NET模拟被禁用。 为什么IIS使用WebUser标识访问目录? 我希望IIS以应用程序池标识 – IISPoolUser的身份访问此文件夹。 如何使它做到这一点? 我不想将Everyone添加到目录权限,因为它听起来是错误的,一般来说 – 我只想允许通过我的IIS应用程序修改此目录。
在旧的Apache主机中,我们在public_html/adm有以下.htaccess文件: <IfModule mod_rewrite.c> RewriteEngine On RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule . /adm/index.php [L] </IfModule> 如果path不存在,这应该将adm /adm/index.php之后的每个urlredirect到/adm/index.php文件。 而且工作得很好。 然后,我把这个网站迁移到了IIS(v8.5),并且使用“Import Rules …”工具,我试图达到同样的效果,但是一开始它和/admpath下的其他网站混淆了。 为了解决这个问题,我改变了原来的.htaccess文件,如下所示: <IfModule mod_rewrite.c> RewriteEngine On RewriteCond adm/%{REQUEST_FILENAME} !-f RewriteCond adm/%{REQUEST_FILENAME} !-d RewriteRule adm/. /adm/index.php [L] </IfModule> 生成的IIS规则如下所示: <rewrite> <rules> <rule name="Imported Rule 1" enabled="true" stopProcessing="true"> <match url="adm/." ignoreCase="false" /> <conditions logicalGrouping="MatchAll"> <add input="adm/{REQUEST_FILENAME}" […]
我在IIS 7.5上configuration了http服务以进行Kerberos身份validation。 它工作正常。 我已经检查从Linux框 # klist Ticket cache: FILE:/tmp/krb5cc_0 Default principal: [email protected] Valid starting Expires Service principal 03/08/16 10:19:30 03/08/16 20:19:31 krbtgt/[email protected] renew until 03/15/16 10:19:30 03/08/16 10:20:00 03/08/16 20:19:31 HTTP/[email protected] renew until 03/15/16 10:19:30 简单的testing # curl –trace-ascii – –negotiate -u : http://www.example.net Enter host password for user '[email protected]': == Info: About to connect() […]
随着请求的数量和响应时间保持相当稳定,连接的数量上升到了一个巨大的高峰… 什么可以导致这个? 请求计数中是否会显示缓慢后期攻击或类似情况?
我试图创build一个机制(在我的情况下,包装在PowerShell中的Robocopy),将从我们所有的Web服务器备份IIS日志到一个中央的CIFS共享。 正如你所料,我已经有复制当前打开的日志文件的问题,因为NTFS不会可靠地更新LastWriteTime作为文件被写入,除非它的所有句柄都closures。 但是我注意到,每当我用Windows资源pipe理器浏览目录时,不仅Date修改更新,而且下一个Robocopy运行会正确捕获文件并使其保持最新状态。 在尝试模拟Windows资源pipe理器行为时,我在调用Robocopy作业之前在PowerShell中运行了以下代码: $aryFileList = Get-ChildItem $job.SourcePath ForEach ($file in $aryFileList) {(New-object System.IO.FileInfo $file).LastWriteTime | Out-Null} 这适用于我的一些IIS服务器和我所有的其他日志logging方法(主要是log4net)。 但是,在我的两台IIS服务器上,这个function没有任何作用,即使它们与其他操作系统完全一样,也是相同的操作系统和IIS版本。 这让我想起了这个想法。 Windows资源pipe理器在使用它刷新目录时到底会更新Date Modified / LastWriteTime信息? 最重要的是对于我的目的,是否有任何方法可以在PowerShell中调用相同的东西?
我们公司有两种不同types的网站,其中一种是面向公众的网站,用户不需要基于服务器的身份validation(匿名身份validation)就可以访问我们公司员工需要访问的其他网站。 这些员工为我们的对外服务工作,需要连接到来自全国各地的这些网站。 我将这两种不同的网站分成两个不同的IIS 8.5服务器。 我现在所关心的是我们内部网站上的用户身份validation以及想要通过powershell访问这些网站的可能的入侵者。 我读了关于摘要,基本和Windowsauthentication。 据我所知,摘要authentication工作速度最快,所需的服务器资源比其他authentication方法less。 但是为了进行摘要authentication,服务器需要在一个域中,因为它需要从域控制器获得一个散列。 我也读过这是不可能的,委托通过digestauth收到的用户凭证到特定的网站。 就像用户需要在网站内的login屏幕上进行身份validation一样,在访问服务器时不能拿到他通过的凭据,并将其作为网站login名。 由于我不希望我的用户两次authentication自己,如果我正确地理解了这个authentication方法,那么这个authentication方法就不适合我的需求。 基本身份validation通过base64“encryption”以纯文本forms发送密码。 这也不是很安全,因为入侵者可以简单地捕获这些证书。 Windows身份validation应该比基本身份validation更安全一些,Web服务器不需要在域中,但所有需要身份validation的用户都需要位于Web服务器上的用户组中。 我不知道这个方法是如何编码的。 我的问题是,从安全的angular度来看,对于我的内部网站,您build议使用哪种身份validation方法。 注意:我们使用SSL(HTTPS)为所有我们的网站,内部和公众面对。
我从过去18个月的用户代理string的IIS日志中创build了一个计数器,并创build了一些Excel公式以使用Internet Explorer从XP / Vista计算机中提取访问次数。 有人可以确认下面的search是否准确地捕获这些用户(使用IE的XP / Vista): 如果(UserAgent包含“Windows + NT + 6.0”或“Windows + NT + 5.1”)和(UserAgent包含“MSIE”):添加到总计 我只想确保向pipe理员提交的报告准确反映不支持TLSv1.1的网站stream量