我在Windows Server 2008上运行PHP 5.3,FastCGI和IIS 7.我有一个网站,我想configuration它自己的php.ini设置,但事情没有按预期工作。 我正在关注这里的教程。 这是我迄今为止所做的: 1)用自己的AppPoolconfiguration一个新的网站。 2)从IIS上的网站主页上提供的PHPpipe理器中selectPHP 5.3.6(不是设置PHP全球版本的Web服务器主页) 3)将以下行添加到位于system32 / inetsrv / config的applicationHost.config文件部分 <application fullPath="C:\Program Files (x86)\PHP\v5.3\php-cgi.exe" arguments="-d open_basedir=C:\inetpub\wwwroot\kickasswebsite.com" maxInstances="4" idleTimeout="300" activityTimeout="30" requestTimeout="90" instanceMaxRequests="200" protocol="NamedPipe" queueLength="1000" flushNamedPipe="false" rapidFailsPerMinute="10"> <environmentVariables> <environmentVariable name="PHPRC" value="c:\inetpub\wwwroot\kickasswebsite.com" /> </environmentVariables> </application> 4)然后我创build一个php.ini文件,位于C:\ inetpub \ wwwroot \ kickasswebsite.com(网站根目录) register_globals = on 5)然后运行test.php,它只是输出phpinfo()返回的所有方法。 在这一点上,我注意到register_globals = off(应该是)的全局设置,但是register_globals = off的本地设置,尽pipe我在我在网站根目录创build的php.ini文件中指定了不同的设置。 而且,我在php.ini的输出中看到了这些设置 Configuration File […]
我们有两台Windows Server 2008 R2networking版服务器,在VM Ware主机上都是VIRTUAL,而且每一个…单个…我们在服务器上创build一个新网站,将正确的域用户添加到网站上的硬盘,并发布网站,不pipe是什么,甚至在服务器本身,网站挑战用户名和密码。 而且要启动,即使你使用正确的凭证login,它仍然会提示,根本不接受凭据。 唯一的解决scheme:重新启动服务器。 这是不可接受的,因为两台服务器中的一台是生产服务器。 我开放给build议之前,很多pipe理员的沮丧,我开始抛出服务器不存在的窗口…. 谢谢!
我在Windows Server 2008 R2上的IIS 7.5上托pipe了多个Web应用程序。 服务器有一个IP地址,我使用主机名来区分绑定到每个应用程序。 服务器有不同的DNS别名匹配的主机名,所以在公司networking内的所有工作正常。 例如: 当我键入http:// intranet时 ,“intranet”通过DNSparsing到服务器的IP,并向IIS发出请求,IIS使用与“intranet”主机名的绑定,后者映射到Intranet Web应用程序。 问题是,我还希望用户能够通过使用服务器的IP(公共的)来访问公司networking外部的应用程序。 这意味着IIS还应该识别以http://xxx.xxx.xxx.xxx/intranetforms提出的对应于Intranet Web应用程序的请求。 我发现实现这一目标的唯一方法是将所有Web应用程序的物理文件夹放在默认网站的物理文件夹下,并保留此网站的默认绑定。 这意味着: 当我键入http://xxx.xxx.xxx.xxx/intranet时 ,会向IIS发出一个请求,该请求使用不带主机名的绑定,而主机名又映射到默认网站,并且在该网站中,进入“内联网”物理文件夹。 事情理论上应该正常,但是我偶然发现了下面的问题。 我所托pipe的大多数networking应用程序都是ASP.NET应用程序,并使用web.config文件。 当我直接访问这些应用程序之一,通过第一种方法(即使用主机名),事情工作正常。 但是,当我使用第二种方法访问它时,IIS会抱怨web.config中的某些设置处于不正确的级别。 我知道为什么会发生这种情况:由于我设置了绑定的方式,对IIS的请求正在被更高级别的Web应用程序中的物理文件夹所取代,而不是我正打算访问的Web应用程序。 我的问题是:因为这个configuration策略打破了ASP.NET web.config的行为(也可能是其他的事情),还有其他的select,我应该考虑允许基于名称和IP的访问? 谢谢。 编辑 。 现在我已经find了解决这个问题的办法。 请在下面看到我自己的答案。
我们正在考虑更新我们的服务器场来使用共享configuration ,我们想知道这样做的性能损失。 我们想知道什么时候从文件系统读取applicationHost.config文件? 每一个要求? 每次应用程序池回收?
我有一个在Windows Server 2008 R2的IIS7上运行的asp.net站点,我的站点位于“站点”节点下的“默认网站”节点下。 在我的网站的身份validation选项卡上,我有: Windows身份validation 基本authentication 匿名访问 表单authentication ASP.NET模拟 这些都是启用 – 我没有设置自己,团队的开发人员。 同一networking上的每个人都可以毫无问题地访问该网站,除了在另一个域上的一个用户 – 不知道它是否是可信任的。 当其他域上的用户尝试访问该站点时,IE将显示一个安全对话框,要求input凭据。 我的网站没有使用任何Windows凭据,所以我真的不需要知道访问者的Windows用户名和密码。 IE浏览器显示的对话不会阻止用户访问该网站,事实上,不pipe她做了什么(input一些等值的凭据,甚至取消对话),网站仍然会按照预期打开,她会能够使用网站的不同function。 我的问题是:我应该使用什么正确的设置来强制IE不显示安全popup窗口?
嗨,我得到这个奇怪的事情发生在我身上,即时新手自己解决。 我在工作中做了一些testing,我得到了这样一个应用程序池,每天都会改变它的PID几次,前两天我注意到,当我无法访问它,并开始寻找erros。 它工作了几个小时,它改变了,我不得不重新启动应用程序池和网站本身再次工作。 我一直在使用基本设置,就像我在其他4个站点上所做的一样,而且它们运行良好。 有人知道为什么它不断改变其PID? 我感觉像是“重新启动”或者是那种性质的东西。 提前致谢
我有一个运行IIS 7.5的Windows Server 2008 R2。 我也考虑让另一个专用的Windows Server 2008 R2来build立一个Web场框架2.1。 我需要遵循哪些步骤? 2台服务器就足够了,还是至less需要3台服务器?
新的URL重写与IIS 7我需要redirect到另一个页面的网站本身没有引用的图像。 例如,某人在浏览器中input“www.somesite.com/images/image001.jpg”,会将用户redirect到“www.somesite.com/prevent.aspx?image001.jpg”。 我发现了一些很好的技巧来防止盗链: http : //blogs.iis.net/ruslany/archive/2009/04/08/10-url-rewriting-tips-and-tricks.aspx ,这很好,但没有像我想要从上面的例子。 重写防止盗链的规则: <rule name="Prevent image hotlinking"> <match url=".*\.(gif|jpg|png)$"/> <conditions> <add input="{HTTP_REFERER}" pattern="^$" negate="true" /> <add input="{HTTP_REFERER}" pattern="^http://ruslany\.net/.*$" negate="true" /> </conditions> <action type="Rewrite" url="/images/say_no_to_hotlinking.jpg" /> </rule> 重写redirect的规则: <rule name="Query String Rewrite"> <match url="page\.asp$" /> <conditions> <add input="{QUERY_STRING}" pattern="p1=(\d+)" /> <add input="##{C:1}##_{QUERY_STRING}" pattern="##([^#]+)##_.*p2=(\d+)" /> </conditions> <action type="rewrite" url="newpage.aspx?param1={C:1}&amp;param2={C:2}" appendQueryString="false"/> </rule> […]
我有一个与IIS7的URL重写模块的问题,当我添加以下规则我得到一个404错误在所有页面上。 <rule name="Remove .aspx" stopProcessing="true"> <match url="(.+)\.aspx" /> <action type="Redirect" redirectType="Permanent" url="{R:1}" /> 我只想删除所有文件扩展名。 我迷失了,也许有人知道这个解决scheme? 提前致谢。 问候,eimeim
我在尝试通过另一台计算机上的UNC从运行在IIS中的Web应用程序访问文件夹时收到拒绝访问错误的问题。 现在我确定你的想法,就像我做的那样,这当然只是一个权限问题,但是下面的事情发生了: 该应用程序正在使用模拟,并且正在模拟的用户可以完全访问该文件夹。 该文件夹的权限已被设置为允许所有人完全控制,以防模拟不起作用,同样的问题。 该应用程序可以很高兴地查看此共享中的其他文件夹和文件 Procmon在访问这个文件时显示访问被拒绝的错误,详情请看下面的内容: Operation: Create File Result: ACCESS DENIED Desired Access: Generic Read Disposition: Open Options: Synchronous IO Non-Alert Attributes: N ShareMode: Read, Write, Delete AllocationSize: n/a Impersonating: domain\user 应用程序本质上只是试图从该文件夹读取,没有更多(创build文件操作实际上只是创build该文件的句柄)。 文件服务器的安全日志中没有指示访问被拒绝错误的事件。 编辑 已经为UNC访问(允许应用程序池用户委托给文件服务器上的HOST和CIFS服务)设置了委派,并且使用Deleconfig确认这应该起作用,但是不起作用。 但是,设置应用程序池用户被允许委托给任何服务(Kerberos)只有工作。 据我所知HOSTS和CIFS是委托文件服务器访问所需的唯一服务,所以我不确定它需要访问什么额外的服务。