当通过HTML表单将file upload到PHP脚本时,即使请求结束,并且该文件未被PHP代码明确删除,上传的文件仍将保留在upload_tmp_dir中。 预期行为:当请求结束时,未使用,未移动或删除file upload的临时文件将被PHP删除。 这也是php.net为file upload所描述的行为:“如果文件没有被移走或重命名,则文件将在请求结束时从临时目录中删除”,请参见: http : //php.net /manual/en/features.file-upload.post-method.php 这是,发生在引擎盖下: 该文件在upload_tmp_dir中创build。 该文件没有被PHP代码触及。 请求结束。 PHP试图删除临时文件,但访问被拒绝。 我们用procmon分析了这个。 你可以看到的是,php-cgi.exe进程看起来不像在move_uploaded_file()那样模仿删除请求。 解决方法:如果我们为uploaded_tmp_dir上的IIS_IUSRS组添加了修改权限,则在请求按预期结束后,该文件将被删除。 环境:在IIS 7.x上通过FCGI的PHP 5.3 / 5.4 转载于WS2012,WS2008 R2。 我正在讨论这个在PHP的错误追踪,但他们不相信我: https ://bugs.php.net/bug.php?id = 68535 我需要这个话题的一些支持。 Sombody可以重现吗? 我做错了什么。
我知道如何使用aspnet_regiis命令在IIS中导出/导入密钥容器。 使用它,我可以导出例如iisConfigurationKey ,在applicationHost.config为AesProvider ,并将密钥容器导入到另一台服务器上。 但是我不明白的是,例如AesProvider的sessionKey属性如何适应这个。 它看起来不像导出的密钥容器XML的内容(它与私有密钥和公钥不相似)。 sessionKey属性是如何生成的(与密钥容器相关),它的目的是什么?
我正在configurationAmazon Simple Email Service ,当我尝试发送电子邮件时遇到了问题,并收到错误消息: SMTP服务器需要安全的连接或者客户端没有被authentication。 服务器响应是:需要身份validation 所以我想使用IIS 8的自签名证书,但到目前为止我已经实现了它,我仍然得到相同的错误。 我正在使用.net web.config来设置凭据,主机名和端口。 <mailSettings> <smtp from="[email protected]" deliveryMethod="Network" > <network host="my-amazon-host.com" port="25" defaultCredentials="false" enableSsl="true" userName="my-user-name" password="my-password" /> </smtp> </mailSettings> 有没有办法使用自签名证书(由IIS创build)和亚马逊服务? 如何设置该证书? 提前致谢!
我有我想暴露给世界的web api服务。 所以我创build了no-ip帐户,下载它的客户端应用,configuration了no-ip主机名。 然后我发布我的web api项目,并使用IISpipe理器在我的本地iis上创build新的网站。 我可以浏览这个网站。 我也在我的网站上分配端口到11992。 问题是:为什么我能够在http://localhost:11992而不是在mywebiste.ddns.net:11992上看到这个网站? 为了完成这项工作,我还需要采取其他措施吗? 更新:我的11992 TCP端口不被Windows防火墙阻止。 在我的请求ISP是分配给我一个公共IP,所以它不是静态的。 是您的PC使用应用“NAT翻译”的路由器连接到互联网? 我猜,这是华为路由器,我添加端口11992使用NAT – 虚拟服务器选项,并使用canyouseeme.org报告 成功:我可以看到你的服务在端口(11992)上的xx.239.xx.58你的ISP没有阻止端口11992当我打我mywebsite.ddnes.net我得到路由器pipe理员login(就像我打192.168.1.1)但是当我尝试mywebsite.ddnes.net:11992我得到404错误
这个人有我…所有我想要做的是使用IIS 8中的HTTPredirectfunctionredirect到不同的页面/目录,但是当我这样做,它说这个页面有一个redirect循环。 该网站具有这样的绑定: http <blank> 80 * https de.com.edu 443 * 在HTTPredirect我试图redirect到 https://de.com.edu/webapps/login/?action=relogin 我正在检查“将所有请求redirect到确切的目的地”的框。 然后,正如我所说,我只是得到一个“这个页面有一个redirect循环”。 有什么build议?
我们有一个Tomcat 7在8080端口上的应用程序。我们希望用户使用SSL。 所以我们使用IIS 8作为反向代理来代理从端口443到端口8080的连接。 这就是我们试图实现的: https ://app.example.com ==> app.example.com:8080 / AppName / 以下是URL重写规则 <rule name="Tomcat Reverse Proxy" enabled="true" stopProcessing="true"> <match url="(.*)" ignoreCase="false"/> <action type="Rewrite" url="http://localhost:8080/AppName/{R:1}" logRewrittenUrl="true" /> </rule> 当执行这个规则而不是代理请求时,IIS做了一个redirect,我在浏览器的地址栏中看到http:// localhost:8080 / AppName / 。 问题是AppName 。 IIS URL重写模块不喜欢操作中的大写字母。 但是,Tomcat 7是URL区分大小写的,如果我在重写规则中使用“appname”,Tomcat会抛出一个404。 有没有什么办法可以让IIS在重写中使用大写的url?
这是我的理解,IIS应该能够处理的情况下,我可以xcopy更新Web应用程序文件(.dll,.aspx等)到运行的Web服务器。 IIS将检测到文件已更新并发出应用程序池回收。 这将反过来启动一个新的工作进程,使用这组更新的文件,并将处理新的请求进来。旧的工作进程将继续处理请求,直到他们完成,然后该进程将closures。 如果所有这些工作正常,那么您应该能够将Web应用程序部署到正在运行的Web服务器,而不会影响用户。 在testing这个场景时,我发现在中等规模的负载均衡的三层环境中,这个情况最多可以达到大约25个用户。 如果我用大约50个用户来尝试这个,我将得到500个服务器错误,FileNotFoundExceptions对于“临时文件”类似于: exceptiontypes:FileNotFoundExceptionexception消息:找不到文件'C:\ PanAP.App \ Pan.AP.Delivery \ bin \ System.Web.WebPages.dll.tmp'。 我找不到任何来自Microsoft的文档,指出在这种情况下IIS能够处理的用户数量,但是我会find文档说“对于大规模部署,build议将服务器离线”。 所以我的问题是,有没有其他人以这种方式部署? 如果是这样,您的设置支持多less用户? 如果它远高于25,是否有什么具体的我应该做的/configuration允许更多的用户温暖的部署?
我做了以下步骤: 将所有的needefunction安装到IIS(URLRewrite 2.0,ARR,…) 在VisualStudio中创build默认的MVC Web应用程序 添加这个网站应用程序作为iis的新网站(我可以通过http://localhost访问它) 为这个网站打开了URLRewrite 点击Add Rule(s)… selectReverse Proxy inputgoogle.com作为服务器,HTTP请求将被发送 未选中Enable SSL Offloading 点击OK 当我访问http://localhost我仍然拥有自己的webapp,而不是google.com 。 在我的web.config有: <rewrite> <rules> <rule name="ReverseProxyInboundRule1" stopProcessing="true"> <match url="(.*)" /> <conditions> <add input="{CACHE_URL}" pattern="^(https?)://" /> </conditions> <action type="Rewrite" url="{C:1}://google.com/{R:1}" /> </rule> </rules> </rewrite> 然后,我尝试添加更有用的规则:将localhost/google/sth重写为google.com/search?q=sth 。 我改变了web.config : <rewrite> <rules> <rule name="ReverseProxyInboundRule1" stopProcessing="true"> <match url="^google/(.*)" /> <conditions> <add input="{CACHE_URL}" […]
我有一个运行在Windows Server 2012,IIS的网站。 用户使用客户端证书进行身份validation。 我曾经使用证书颁发机构MMCpipe理单元颁发客户端证书。 由于用户数量增长迅速,我正在使用BouncyCastle库和一些C#代码批量创build客户端证书。 我相信我也可以使用Makecert或Openssl来做到这一点。 在这些证书中,我将撤销列表条目设置为“证书颁发机构”pipe理单元使用的相同值。 IIS接受这些证书就好了。 我的问题涉及证书撤销。 在服务器上发布的客户端证书很容易被使用MMCpipe理单元吊销,但假设我需要撤销这些新的证书。 尽pipeIIS接受这些证书,但它没有任何logging,所以显然我不能使用证书颁发机构pipe理单元撤消它们。 此外,看起来没有办法导入这些证书,使其显示在“证书颁发机构”pipe理单元中。 那么最好的办法是什么呢? 我是否需要在其他地方为这些证书设置撤销列表(CRL)?
我怎样才能使用IIS中的URL重写模块来模仿一个通用的404处理程序? 设置与特定模式相匹配的重写规则很容易,但是我想要做的是为任何与磁盘(或虚拟文件夹)上的现有文件不匹配的URL设置重写规则。 我也需要知道原始URL是什么,所以我可以进一步处理它。 例如,给出以下请求 HTTP://主机/ foobar的 如果“foobar”parsing为一个实际的文件夹/文件(或虚拟文件夹),它应该像IIS一样正常处理。 如果“foobar”不存在(即服务器通常会返回一个404),则重写规则应该踢入和转发到另一个URL,例如 HTTP://主机/ MY-404-处理原始URL = foobar的 这可能使用URL重写模块? 如果没有,我怎样才能实现它使用其他的IIS工具/技术?