<?xml version="1.0" standalone="yes"?>
<?xml-stylesheet type="text/xsl" href="css/rss.xslt"?>
<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/"><channel><title>郑州网建 - 服务器</title><link>http://camnpr.com/</link><description>Good Good Study ,Day Day Up! - </description><generator>RainbowSoft Studio Z-Blog 1.8 Walle Build 100427</generator><language>zh-CN</language><copyright>豫ICP备10013645号 Copyright 2009-2022 camnpr.com</copyright><pubDate>Mon, 04 May 2026 05:40:48 +0800</pubDate><item><title>Windows2008在IIS7.x上安装iisnode配置实现Express访问</title><author>camnpr@163.com (佚名)</author><link>http://camnpr.com/server/2276.html</link><pubDate>Thu, 08 Dec 2016 14:35:56 +0800</pubDate><guid>http://camnpr.com/server/2276.html</guid><description><![CDATA[<p>今年年初打算用Node.js基于<a href="http://expressjs.com/" target="_blank">Express框架</a>重写博客程序，从此告别ASP.NET。然而，我目前用的VPS是Windows Server系统、IIS服务器，如果让Express和IIS都监听80端口，明显会产生冲突。幸好，有一个叫做<a href="https://github.com/tjanczuk/iisnode" target="_blank">iisnode</a>的扩展可以把Node.js程序托管到IIS。而且，这样托管之后也意味着可以使用IIS里面的各种功能（进程管理、GZip压缩、日志、缓存、权限控制、域名绑定等）。</p><p>要使用iisnode，得安装：</p><ul>    <li><a href="http://nodejs.org/" target="_blank">Node.js</a></li>    <li><a href="http://www.iis.net/downloads/microsoft/url-rewrite" target="_blank">IIS的URL Rewrite模块</a></li>    <li><a href="https://github.com/tjanczuk/iisnode" target="_blank">iisnode</a>（例如：https://github.com/azure/iisnode/releases/download/v0.2.21/iisnode-full-v0.2.21-x64.msi 可以使用迅雷下载）</li></ul><p>装好之后，还是按照常规操作，在IIS管理器中创建站点，指向Express程序的目录，关键是还要增加一个web.config文件：</p><pre class="brush:xml">&lt;configuration&gt;<br /> &lt;system.webServer&gt;<br /> &lt;handlers&gt;<br /> &lt;add name=&quot;iisnode&quot; path=&quot;bin/www&quot; verb=&quot;*&quot; modules=&quot;iisnode&quot; resourceType=&quot;Unspecified&quot; requireAccess=&quot;Script&quot; /&gt;<br /> &lt;/handlers&gt;<br /><br /> &lt;rewrite&gt;<br /> &lt;rules&gt;<br /> &lt;rule name=&quot;all&quot;&gt;<br /> &lt;match url=&quot;/*&quot; /&gt;<br /> &lt;action type=&quot;Rewrite&quot; url=&quot;bin/www&quot; /&gt;<br /> &lt;/rule&gt;<br /> &lt;/rules&gt;<br /> &lt;/rewrite&gt;<br /> &lt;/system.webServer&gt;<br />&lt;/configuration&gt;</pre><p>这段内容也可以通过IIS管理器的可视化界面配置。大概意思把所有请求重写到bin/www，而且使用iisnode扩展运行bin/www。然而，打开站点后，却出现了这样的错误提示：</p><blockquote><p>请求筛选模块被配置为拒绝包含 hiddenSegment 节的 URL 中的路径</p></blockquote><p>起初是觉得不明所以，后来突然醒悟，ASP.NET里面的bin目录是个不允许访问的特殊目录。把请求重写到bin/www，恰好命中了这条规则。所以呢，改一下目录名就好了，比如把bin改成launch（事实证明这不是好做法，后面再说），web.config也要对应调整：</p><pre class="brush:xml">&lt;configuration&gt;<br /> &lt;system.webServer&gt;<br /> &lt;handlers&gt;<br /> &lt;add name=&quot;iisnode&quot; path=&quot;launch/www&quot; verb=&quot;*&quot; modules=&quot;iisnode&quot; resourceType=&quot;Unspecified&quot; requireAccess=&quot;Script&quot; /&gt;<br /> &lt;/handlers&gt;<br /><br /> &lt;rewrite&gt;<br /> &lt;rules&gt;<br /> &lt;rule name=&quot;all&quot;&gt;<br /> &lt;match url=&quot;/*&quot; /&gt;<br /> &lt;action type=&quot;Rewrite&quot; url=&quot;launch/www&quot; /&gt;<br /> &lt;/rule&gt;<br /> &lt;/rules&gt;<br /> &lt;/rewrite&gt;<br /> &lt;/system.webServer&gt;<br />&lt;/configuration&gt;</pre><p>在IIS管理器中重启站点后再次访问，终于运行起来了，不容易啊！不过还是高兴得太早了。</p><p>在测试程序功能的过程中，竟然发现获取到的IP为空。在Express框架中，IP是通过<strong>req.ip</strong>获取的，而req.ip又是从请求头的<strong>REMOTE_ADDR</strong>获取值。通过一段简单的测试代码，发现REMOTE_ADDR的值也为空。很明显，从IIS到Node.js的过程中，这段头信息丢失了。Google一番之后，发现iisnode确有<a href="https://github.com/tjanczuk/iisnode/issues/94" target="_blank">此问题</a>，官方提供的解决方案是使用X-Forword-For，不过我又发现了另外一个办法。</p><p>Web.config中有一段配置（加到&lt;/system.webServer&gt;前）可以保留REMOTE_ADDR：</p><pre class="brush:xml">&lt;iisnode promoteServerVars=&quot;REMOTE_ADDR&quot; /&gt;</pre><p>根据说明，保留的REMOTE_ADDR会被改名为<strong>x-iisnode-REMOTE_ADDR</strong>，所以还得把req.ip的值覆盖一次，在Express的app.js中增加一个中间件函数：</p><pre class="brush:js">app.use(function(req, res, next) {<br /> req.ip = req.headers['x-iisnode-remote_addr'];<br /> next();<br />});</pre><p>然而，这样调整后，获取到的IP还是空，这不免让人怀疑，req.ip的赋值是不是失败了。看一下Express的源代码可以发现，req.ip是通过define getter的方式定义的，所以要覆盖它就得再define一次：</p><pre class="brush:js">app.use(function(req, res, next) {<br /> Object.defineProperty(req, 'ip', {<br /> get: function() { return this.headers['x-iisnode-remote_addr']; }<br /> });<br /> next();<br />});</pre><p>这样问题终于解决了，但这不是一个好方法，要是以后Express把req.ip设成只读就麻烦了。</p><p>继续测试，又发现另外一个问题。正常来说，博客后台的文件上传功能会把文件传到public/upload这个目录下，但实际上却在launch目录（即原来的bin目录）下生成了public/upload文件夹。其实原因是作为程序入口的www文件是在launch目录下，所以launch目录成了应用程序的执行目录。我的解决办法是，把launch目录的名字改回bin，在根目录下创建一个launch.js去调用bin/www：</p><pre class="brush:js">#!/usr/bin/env node<br /><br />require('./bin/www');</pre><p>然后把程序入口改为launch.js：</p><pre class="brush:xml">&lt;configuration&gt;<br /> &lt;system.webServer&gt;<br /> &lt;handlers&gt;<br /> &lt;add name=&quot;iisnode&quot; path=&quot;launch.js&quot; verb=&quot;*&quot; modules=&quot;iisnode&quot; resourceType=&quot;Unspecified&quot; requireAccess=&quot;Script&quot; /&gt;<br /> &lt;/handlers&gt;<br /><br /> &lt;rewrite&gt;<br /> &lt;rules&gt;<br /> &lt;rule name=&quot;all&quot;&gt;<br /> &lt;match url=&quot;/*&quot; /&gt;<br /> &lt;action type=&quot;Rewrite&quot; url=&quot;launch.js&quot; /&gt;<br /> &lt;/rule&gt;<br /> &lt;/rules&gt;<br /> &lt;/rewrite&gt;<br /><br /> &lt;iisnode promoteServerVars=&quot;REMOTE_ADDR&quot; /&gt;<br /> &lt;/system.webServer&gt;<br />&lt;/configuration&gt;</pre><p>&nbsp;</p><h2>当放到Window Server 2008 R2服务器上后，出现如下错误提示：&nbsp;</h2><blockquote>iisnode encountered an error when processing the request.<br /><code> HRESULT: 0x2<br />HTTP status: 500<br />HTTP subStatus: 1002<br />HTTP reason: Internal Server Error</code></blockquote>]]></description><category>服务器</category><comments>http://camnpr.com/server/2276.html#comment</comments><wfw:comment>http://camnpr.com/</wfw:comment><wfw:commentRss>http://camnpr.com/feed.asp?cmt=2276</wfw:commentRss><trackback:ping>http://camnpr.com/cmd.asp?act=tb&amp;id=2276&amp;key=14ac5fdc</trackback:ping></item><item><title>Let's Encrypt，免费好用的 HTTPS 证书 之 Window版生成和IIS配置</title><author>bubuol@126.com (llmaomi)</author><link>http://camnpr.com/server/2275.html</link><pubDate>Wed, 30 Nov 2016 15:34:59 +0800</pubDate><guid>http://camnpr.com/server/2275.html</guid><description><![CDATA[<blockquote>Linux下的，请参考地址：https://imququ.com/post/letsencrypt-certificate.html</blockquote><h2>准备工作</h2><p>我们主要使用：<code>ACMESharp</code> 来实现生成证书的。<br />你需要打开 <code>window powershelll</code> 注意：一定要用管理员账号打开<br />并且成功安装<code>ACMESharp</code></p><h2>步骤说明：Let's Encrypt 应用到Window IIS 下</h2><blockquote>英文详细说明地址：https://github.com/ebekker/ACMESharp/wiki/Quick-Start</blockquote><p>以下是流水步骤，只要是顺序执行，应该问题不大。</p><pre class="brush:shell">PS D:\SSL&gt; Install-Module -Name ACMESharp</pre><blockquote> 不受信任的存储库<br />你正在从不受信任的存储库安装模块。如果你信任该存储库，请通过运行 Set-PSRepository cmdlet 更改其InstallationPolicy 值。是否确实要从&ldquo;PSGallery&rdquo;安装模块?<br />[Y] 是(Y)  [A] 全是(A)  [N] 否(N)  [L] 全否(L)  [S] 暂停(S)  [?] 帮助 (默认值为&ldquo;N&rdquo;): Y</blockquote><pre class="brush:shell">PS D:\SSL&gt; Install-Module -Name ACMESharp</pre><pre class="brush:shell">PS D:\SSL&gt; Import-Module ACMESharp</pre><pre class="brush:shell">PS D:\SSL&gt; Initialize-ACMEVault</pre><pre class="brush:shell">PS D:\SSL&gt; New-ACMERegistration -Contacts mailto:isudajicom@gmail.com -AcceptTos</pre><blockquote> Contacts          : {mailto:isudajicom@gmail.com}<br />PublicKey         : { e = AQAB, kty = RSA, n = y6aFgfzMjJYKT3tAON9UjAs***RcIea726ZOV8GikAK4IGtQ }RecoveryKey       :<br />RegistrationUri   : https://acme-v01.api.letsencrypt.org/acme/reg/67***76<br />Links             : {https://acme-v01.api.letsencrypt.org/acme/new-authz&gt;;rel=&quot;next&quot;, https://letsencrypt.org/documen                    ts/LE-SA-v1.1.1-August-1-2016.pdf&gt;;rel=&quot;terms-of-service&quot;}<br />TosLinkUri        : https://letsencrypt.org/documents/LE-SA-v1.1.1-August-1-2016.pdf<br />TosAgreementUri   : https://letsencrypt.org/documents/LE-SA-v1.1.1-August-1-2016.pdf<br />AuthorizationsUri :<br />CertificatesUri   :</blockquote><pre class="brush:shell">PS D:\SSL&gt; New-ACMEIdentifier -Dns www.isudaji.com -Alias dns1</pre><blockquote> IdentifierPart : ACMESharp.Messages.IdentifierPart<br />IdentifierType : dns<br />Identifier     : www.isudaji.com<br />Uri            : https://acme-v01.api.letsencrypt.org/acme/authz/ruizRI2-2WGG***X1GIM<br />Status         : pending<br />Expires        : 2016/12/6 8:18:17<br />Challenges     : {, , }<br />Combinations   : {1, 2, 0}</blockquote><pre class="brush:shell">PS D:\SSL&gt; Complete-ACMEChallenge dns1 -ChallengeType http-01 -Handler manual</pre><blockquote> == Manual Challenge Handler - HTTP ==<br />* Handle Time:      [2016/11/29 16:21:15]<br />* Challenge Token:  [I6Ro7K2rvBwLb#####xFgOPQHTs]<br />To complete this Challenge please create a new file<br />under the server that is responding to the hostname<br />and path given with the following characteristics:<br />* HTTP URL:     [http://www.isudaji.com/.well-known/acme-challenge/<br />I6Ro7K2rvBwLb7#####xFgOPQHTs]<br />* File Path:    [.well-known/acme-challenge/I6Ro7K2rvB#####g1LxFgOPQHTs]<br />* File Content: [I6Ro7K2rvBwLb7e4sBfC1WXB4BQ########V_gZBZ3kdfEfVbxTs0M2KxaZLRoQ]<br />* MIME Type:    [text/plain]<br />------------------------------------<br /><br />IdentifierPart : ACMESharp.Messages.IdentifierPart<br />IdentifierType : dns<br />Identifier     : www.isudaji.com<br />Uri            : https://acme-v01.api.letsencrypt.org/acme/authz/ruizRI2-2WG****Q6aaEX1GIM<br />Status         : pending<br />Expires        : 2016/12/6 8:18:17<br />Challenges     : {, , manual}<br />Combinations   : {1, 2, 0}</blockquote><h2>Window下还是用DNS来验证网站所有权吧，.well-known文件夹名字命名不了。</h2><pre class="brush:shell">PS D:\SSL&gt; Complete-ACMEChallenge dns1 -ChallengeType dns-01 -Handler manual</pre><blockquote> == Manual Challenge Handler - DNS ==<br />* Handle Time:      [2016/11/29 16:36:09]<br /><br />* Challenge Token:  [rBTmWnFa1l2***qmWexsyQ]<br />To complete this Challenge please create a new Resource<br />Record (RR) with the following characteristics:<br />* RR Type:  [TXT]<br />* RR Name:  [_acme-challenge.www.isudaji.com]<br />* RR Value: [u0e28icGYm****SH-JjGRSS6HNk]<br />------------------------------------<br />IdentifierPart : ACMESharp.Messages.IdentifierPart<br />IdentifierType : dns<br />Identifier     : www.isudaji.com<br />Uri            : https://acme-v01.api.letsencrypt.org/acme/authz/ruizRI2-2WG****aEX1GIM<br />Status         : pending<br />Expires        : 2016/12/6 8:18:17<br />Challenges     : {, manual, manual}<br />Combinations   : {1, 2, 0}</blockquote><h2>-------本地验证：</h2><pre class="brush:shell">C:\Users\ISuDaJi&gt;nslookup -qt=txt _acme-challenge.www.isudaji.com</pre><blockquote> 服务器:  xd-cache-1.bjtelecom.net<br />Address:  111.111.111.10<br />非权威应答:<br />_acme-challenge.www.isudaji.com text =<br />&quot;u0e28icGYmSgophqC_oJLaoDQOPn0GSH-JjGRSS6HNk&quot;<br /><br />isudaji.com     nameserver = ns1.isudaji.com<br />isudaji.com     nameserver = ns2.isudaji.com<br />ns1.isudaji.com    internet address = 111.116.111.111<br />ns2.isudaji.com    internet address = 111.51.11.111</blockquote><p><br />====================================================================</p><h2>提交验证</h2><pre class="brush:shell">PS D:\SSL&gt; Submit-ACMEChallenge dns1 -ChallengeType dns-01</pre><blockquote> IdentifierPart : ACMESharp.Messages.IdentifierPart<br />IdentifierType : dns<br />Identifier     : www.isudaji.com<br />Uri            : https://acme-v01.api.letsencrypt.org/acme/authz/ruizRI2-2WGG***aaEX1GIMStatus         : pendingExpires        : 2016/12/6 8:18:17Challenges     : {, manual, manual}Combinations   : {1, 2, 0}</blockquote><h2>检查验证</h2><pre class="brush:shell">PS D:\SSL&gt; (Update-ACMEIdentifier dns1 -ChallengeType dns-01).Challenges | Where-Object {$_.Type -eq &quot;dns-01&quot;}</pre><blockquote> ChallengePart          : ACMESharp.Messages.ChallengePart<br />Challenge              : ACMESharp.ACME.DnsChallenge<br />Type                   : dns-01<br />Uri                    : https://acme-v01.api.letsencrypt.org/acme/challenge/ruizRI2-2WGG***M/372***65<br />Token                  : rBTmWnF****tUJbpcX-wuL***exsyQ<br />Status                 : valid<br />OldChallengeAnswer     : [, ]<br />ChallengeAnswerMessage :<br />HandlerName            : manual<br />HandlerHandleDate      : 2016/11/29 16:36:09<br />HandlerCleanUpDate     :<br />SubmitDate             : 2016/11/29 17:03:08<br />SubmitResponse         : {StatusCode, Headers, Links, RawContent...}</blockquote><h2>整体的验证</h2><pre class="brush:shell">PS D:\SSL&gt; Update-ACMEIdentifier dns1</pre><blockquote> IdentifierPart : ACMESharp.Messages.IdentifierPart<br />IdentifierType : dns<br />Identifier     : www.isudaji.com<br />Uri            : https://acme-v01.api.letsencrypt.org/acme/authz/ruizRI2-2***1GIM<br />Status         : valid<br />Expires        : 2017/1/28 9:03:07<br />Challenges     : {, , }<br />Combinations   : {1, 2, 0}</blockquote><h2>获取证书</h2><pre class="brush:shell">PS D:\SSL&gt; New-ACMECertificate dns1 -Generate -Alias cert1</pre><blockquote> Id                       : 7f798b26*****42e86010<br />Alias                    : cert1<br />Label                    :<br />Memo                     :<br />IdentifierRef            : dec6****4b83<br />IdentifierDns            : www.isudaji.com<br />AlternativeIdentifierDns :<br />KeyPemFile               :<br />CsrPemFile               :<br />GenerateDetailsFile      : 7f798b26*****10-gen.json<br />CertificateRequest       :<br />CrtPemFile               :<br />CrtDerFile               :<br />IssuerSerialNumber       :<br />SerialNumber             :<br />Thumbprint               :<br />Signature                :<br />SignatureAlgorithm       :</blockquote><pre class="brush:shell">PS D:\SSL&gt; Submit-ACMECertificate cert1</pre><blockquote> Id                       : 7f798****2e86010<br />Alias                    : cert1<br />Label                    :<br />Memo                     :<br />IdentifierRef            : dec6a3****38644b83<br />IdentifierDns            : www.isudaji.com<br />AlternativeIdentifierDns :<br />KeyPemFile               : 7f798****e86010-key.pem<br />CsrPemFile               : 7f79****2e86010-csr.pem<br />GenerateDetailsFile      : 7f798****e86010-gen.json<br />CertificateRequest       : ACMESharp.CertificateRequest<br />CrtPemFile               : 7f79****10-crt.pem<br />CrtDerFile               : 7f798****0-crt.der<br />IssuerSerialNumber       :<br />SerialNumber             : 03A147****41414E<br />Thumbprint               : 309E474B****47965B332<br />Signature                : 309E474****965B332<br />SignatureAlgorithm       : sha256RSA</blockquote><h2>导出证书</h2><pre class="brush:shell">PS D:\SSL&gt; Get-ACMECertificate cert1 -ExportKeyPEM &quot;D:\SSL\cert1.key.pem&quot;</pre><blockquote> Id                       : 7f798b****42e86010<br />Alias                    : cert1<br />Label                    :<br />Memo                     :<br />IdentifierRef            : dec6****644b83<br />IdentifierDns            : www.isudaji.com<br />AlternativeIdentifierDns :<br />KeyPemFile               : 7f79****010-key.pem<br />CsrPemFile               : 7f798****86010-csr.pem<br />GenerateDetailsFile      : 7f79****86010-gen.json<br />CertificateRequest       : ACMESharp.CertificateRequest<br />CrtPemFile               : 7f798b****010-crt.pem<br />CrtDerFile               : 7f798****010-crt.der<br />IssuerSerialNumber       :<br />SerialNumber             : 03A147****0941414E<br />Thumbprint               : 309E****965B332<br />Signature                : 309E47****65B332<br />SignatureAlgorithm       : sha256RSA</blockquote><h2>导出证书签名请求（CSR）</h2><pre class="brush:shell">PS D:\SSL&gt; Get-ACMECertificate cert1 -ExportCsrPEM &quot;D:\SSL\cert1.csr.pem&quot;</pre><blockquote> Id                       : 7f7****6010<br />Alias                    : cert1<br />Label                    :<br />Memo                     :<br />IdentifierRef            : dec6a3****644b83<br />IdentifierDns            : www.isudaji.com<br />AlternativeIdentifierDns :<br />KeyPemFile               : 7f798****2e86010-key.pem<br />CsrPemFile               : 7f798****0-csr.pem<br />GenerateDetailsFile      : 7f79****010-gen.json<br />CertificateRequest       : ACMESharp.CertificateRequest<br />CrtPemFile               : 7f798b****10-crt.pem<br />CrtDerFile               : 7f79****6010-crt.der<br />IssuerSerialNumber       :<br />SerialNumber             : 03A14****941414E<br />Thumbprint               : 309E4****965B332<br />Signature                : 309E47****5B332<br />SignatureAlgorithm       : sha256RSA</blockquote><h2>导出由LE颁发的证书</h2><pre class="brush:shell">PS D:\SSL&gt; Get-ACMECertificate cert1 -ExportCertificatePEM &quot;D:\SSL\cert1.crt.pem&quot; -ExportCertificateDER &quot;D:\SSL\cert1.crt&quot;</pre><blockquote> Id                       : 7f7****2e86010<br />Alias                    : cert1<br />Label                    :<br />Memo                     :<br />IdentifierRef            : dec****38644b83<br />IdentifierDns            : www.isudaji.com<br />AlternativeIdentifierDns :<br />KeyPemFile               : 7f798b****010-key.pem<br />CsrPemFile               : 7f798****86010-csr.pem<br />GenerateDetailsFile      : 7f79****86010-gen.json<br />CertificateRequest       : ACMESharp.CertificateRequest<br />CrtPemFile               : 7f798****86010-crt.pem<br />CrtDerFile               : 7f79****86010-crt.der<br />IssuerSerialNumber       :<br />SerialNumber             : 03A1****41414E<br />Thumbprint               : 309E****5B332<br />Signature                : 309E47****5B332<br />SignatureAlgorithm       : sha256RSA</blockquote><h2>导出发行人证书（第一个失败，就先只执行一次下边的那个）</h2><pre class="brush:shell">PS D:\SSL&gt; Get-ACMECertificate cert1 -ExportIssuerPEM &quot;D:\SSL\cert1-issuer.crt.pem&quot; -ExportIssuerDER &quot;D:\SSL\cert1-issuer.crt&quot;</pre><blockquote> Get-ACMECertificate : Issuer certificate hasn't been resolved<br />所在位置 行:1 字符: 1<br />+ Get-ACMECertificate cert1 -ExportIssuerPEM &quot;D:\SSL\cert1-issuer.crt.p ...<br />+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~<br />+ CategoryInfo          : NotSpecified: (:) [Get-ACMECertificate], InvalidOperationException<br />+ FullyQualifiedErrorId : System.InvalidOperationException,ACMESharp.POSH.GetCertificate</blockquote><pre class="brush:shell">PS D:\SSL&gt; Update-ACMECertificate cert1</pre><blockquote> Id                       : 7f79****86010<br />Alias                    : cert1<br />Label                    :<br />Memo                     :<br />IdentifierRef            : dec6****644b83<br />IdentifierDns            : www.isudaji.com<br />AlternativeIdentifierDns :<br />KeyPemFile               : 7f79****010-key.pem<br />CsrPemFile               : 7f79****6010-csr.pem<br />GenerateDetailsFile      : 7f79****6010-gen.json<br />CertificateRequest       : ACMESharp.CertificateRequest<br />CrtPemFile               : 7f7****86010-crt.pem<br />CrtDerFile               : 7f798****e86010-crt.der<br />IssuerSerialNumber       : 0A01****CA708<br />SerialNumber             : 03A147****1414E<br />Thumbprint               : 309E4****5B332<br />Signature                : 309E47****5B332<br />SignatureAlgorithm       : sha256RSA</blockquote><pre class="brush:shell">PS D:\SSL&gt; Get-ACMECertificate cert1 -ExportIssuerPEM &quot;D:\SSL\cert1-issuer.crt.pem&quot; -ExportIssuerDER &quot;D:\SSL\cert1-issuer.crt&quot;</pre><blockquote> Id                       : 7f79****42e86010<br />Alias                    : cert1<br />Label                    :<br />Memo                     :<br />IdentifierRef            : dec****644b83<br />IdentifierDns            : www.isudaji.com<br />AlternativeIdentifierDns :<br />KeyPemFile               : 7f****010-key.pem<br />CsrPemFile               : 7f79****2e86010-csr.pem<br />GenerateDetailsFile      : 7f798****86010-gen.json<br />CertificateRequest       : ACMESharp.CertificateRequest<br />CrtPemFile               : 7f79****86010-crt.pem<br />CrtDerFile               : 7f798b****10-crt.der<br />IssuerSerialNumber       : 0A0141****A708<br />SerialNumber             : 03A147****1414E<br />Thumbprint               : 309E****965B332<br />Signature                : 309E474B****5B332<br />SignatureAlgorithm       : sha256RSA</blockquote><h2>导出可以用在windows IIS里的证书（没密码的证书，有密码的证书，任选。）</h2><pre class="brush:shell">PS D:\SSL&gt; Get-ACMECertificate cert1 -ExportPkcs12 &quot;D:\SSL\cert1.pfx&quot;</pre><blockquote> Id                       : 7f79****e86010<br />Alias                    : cert1<br />Label                    :<br />Memo                     :<br />IdentifierRef            : dec6a****4b83<br />IdentifierDns            : www.isudaji.com<br />AlternativeIdentifierDns :<br />KeyPemFile               : 7f7****-key.pem<br />CsrPemFile               : 7f798b****sr.pem<br />GenerateDetailsFile      : 7f798b26****10-gen.json<br />CertificateRequest       : ACMESharp.CertificateRequest<br />CrtPemFile               : 7f798b2****010-crt.pem<br />CrtDerFile               : 7f798b2****010-crt.der<br />IssuerSerialNumber       : 0A01****708<br />SerialNumber             : 03A1****941414E<br />Thumbprint               : 309E474****5B332<br />Signature                : 309E4****965B332<br />SignatureAlgorithm       : sha256RSA</blockquote><h2>创建带有密码的证书</h2><pre class="brush:shell">PS D:\SSL&gt; Get-ACMECertificate cert1 -ExportPkcs12 &quot;D:\SSL\cert1.pfx&quot; -CertificatePassword 'g1Bb3Ri$h'</pre><blockquote> Get-ACMECertificate : 文件&ldquo;D:\SSL\cert1.pfx&rdquo;已经存在。<br />所在位置 行:1 字符: 1<br />+ Get-ACMECertificate cert1 -ExportPkcs12 &quot;D:\SSL\cert1.pfx&quot; -Certifica ...<br />+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~<br />+ CategoryInfo          : NotSpecified: (:) [Get-ACMECertificate], IOException<br />+ FullyQualifiedErrorId : System.IO.IOException,ACMESharp.POSH.GetCertificate</blockquote><p><img title="Let's Encrypt，免费好用的 HTTPS 证书" src="http://camnpr.com/upload/2016/11/201611301541055504.jpg" alt="Let's Encrypt，免费好用的 HTTPS 证书" /></p><p>此致就完成了所有的步骤，那么我们怎么用这些证书来开启https呢？</p><h2>这里，我们先只用到 pfx的证书来实现IIS的配置，如下链接：</h2><p><a href="http://camnpr.com/server/2274.html" target="_blank" rel="noopener noreferrer">Win2008+IIS7.0下安装SSL证书</a><br /><a href="http://camnpr.com/server/2273.html" target="_blank" rel="noopener noreferrer">IIS7如何实现访问HTTP跳转到HTTPS访问</a></p><p>安装上边步骤实现的HTTPS，在线体验：<a href="https://www.isudaji.com/" target="_blank" rel="noopener noreferrer">爱苏妲己</a></p>]]></description><category>服务器</category><comments>http://camnpr.com/server/2275.html#comment</comments><wfw:comment>http://camnpr.com/</wfw:comment><wfw:commentRss>http://camnpr.com/feed.asp?cmt=2275</wfw:commentRss><trackback:ping>http://camnpr.com/cmd.asp?act=tb&amp;id=2275&amp;key=028a784e</trackback:ping></item><item><title>Win2008+IIS7.0下安装SSL证书</title><author>camnpr@163.com (佚名)</author><link>http://camnpr.com/server/2274.html</link><pubDate>Wed, 30 Nov 2016 14:37:35 +0800</pubDate><guid>http://camnpr.com/server/2274.html</guid><description><![CDATA[<h1>一、安装SSL证书的环境</h1><p>&nbsp;(温馨提示：安装证书前请先备份您需要修改的服务器配置文件)</p><h2>1.1 SSl证书安装环境简介</h2><p>安装windows server 2008 &nbsp;IIS7.0操作系统服务器一台，</p><p>web站点一个</p><p>SSL证书一张（备注：本指南使用s.wosign.com域名OV SSL证书进行操作）</p><h2>1.2 网站环境要求</h2><p>请确保站点是一个合法的外网可以访问的域名地址，可以正常通过</p><p><a href="http://www.isudaji.com">http://www.isudaji.com</a> 进行正常访问。</p><h1>二、&nbsp;SSL证书的导入</h1><h1>2.1 获取SSl证书</h1><p>成功在景安申请证书后，会得到一个有密码的压缩包文件，输入证书密码后解压得到五个文件：for Apache、for IIS、for Ngnix、for Other Server，这个是证书的几种格式，解压for IIS压缩包，会得到一个www.xxx.com.pfx格式的证书，IIS7.0上需要用到pfx格式的证书。</p><p><img title="图片13.jpg" src="http://camnpr.com/upload/2016/11/201611301441443123.jpg" alt="" width="500" height="107" border="0" hspace="0" /></p><p>图1</p><h2>2.2 导入SSl证书</h2><p>开始 -〉运行 -〉MMC，启动控制台程序 -&gt; 选择菜单&ldquo;文件 -〉添加/删除管理单元&rdquo;-&gt;列表中选择&ldquo;证书&rdquo;-&gt;点击&ldquo;添加&rdquo;-&gt; 选择&ldquo;计算机帐户&rdquo; -&gt;点击完成。在控制台的左侧显示证书树形列表，选择&ldquo;个人&rdquo;- &ldquo;证书&rdquo;，右键单击，选择&ldquo;所有任务-〉导入&rdquo;， 根据&ldquo;证书导入向导&rdquo;的提示，将.pfx格式文件导入,注意导入过程选择&ldquo;根据证书内容自动选择存储区&rdquo;。（注意导入过程中需要输入密码）导入成功后，刷新，可以看到如图1所示的证书信息</p><p><img style="border-height: 296px;" title="图片14.png" src="http://camnpr.com/upload/2016/11/201611301441472607.png" alt="" width="500" height="296" border="0" hspace="0" /></p><p>图2</p><h2>2.3 分配服务器证书</h2><p>&nbsp; &nbsp;打开IIS7.0管理器面板，找到待部署证书的站点，点击&ldquo;绑定&rdquo;如图3</p><p><img title="图片15.png" src="http://camnpr.com/upload/2016/11/201611301441488405.png" alt="" width="500" height="340" border="0" hspace="0" /></p><p>图3</p><p><strong>设置参数</strong></p><p>&nbsp; &nbsp; 选择&ldquo;绑定&rdquo;-&gt;&ldquo;添加&rdquo;-&gt;&ldquo;类型选择https&rdquo;&nbsp;-&gt;&ldquo;端口443&rdquo;&nbsp;-&gt;&ldquo;ssl证书【导入的证书名称】&rdquo;&nbsp;-&gt;&ldquo;确定&rdquo;，SSL缺省端口为443端口，（请不要随便修改。如果您使用其他端口如：8443，则访问时必须输入：https://www.domain.com:8443）。如图4</p><p><img title="图片16.png" src="http://camnpr.com/upload/2016/11/201611301441487572.png" alt="" width="500" height="420" border="0" hspace="0" /></p><p>图4</p><p>&nbsp;</p><h2>2.4 测试是否安装成功</h2><p>重启IIS7.0服务，在浏览器地址栏输入：https://www.yourdomain.com&nbsp;(申请证书的域名)测试您的SSL证书是否安装成功，如果成功，则浏览器下方会显示一个安全锁标志。请注意：如果您的网页中有不安全的元素，则会提供&ldquo;是否显示不安全的内容&rdquo;，赶紧修改网页，删除不安全的内容(外部Flash、CSS、Java Script和图片等)。</p><h1>三、&nbsp;安装安全签章</h1><p>全球可信网站安全认证签章为动态显示的标识(含网站访问时实时时间)，不是静态图片，不可复制和不可假冒，只能在通过认证的网站使用。点击认证标识，可以显示此网站拥有者的认证信息，否则，就不是合法使用认证标识。目前该认证签章支持OV级以上证书使用，您购买了景安SSL证书后，将免费获得一个能直观地显示贵网站的认证信息的可信网站安全认证标识，能大大增强用户的在线信任，促成更多在线交易。所以，建议您在安装成功SSL证书后，马上在网站的首页和其他页面中添加如下代码动态显示可信网站安全认证标识。</p><p>&nbsp;</p><p><strong>3.1 安装中文签章</strong></p><p>如果您希望在中文页面显示认证标识，则在中文页面添加如下代码：</p><p><strong>&nbsp; &nbsp; &nbsp;&lt;SCRIPT LANGUAGE="JavaScript" TYPE="text/javascript" SRC="https://seal.wosign.com/tws.js"&gt;&lt;/SCRIPT&gt; &nbsp; &nbsp;</strong></p><p><img style="border-width: initial; border-image-width: initial; width: 130px; height: 37px;" title="图片1.jpg" src="http://camnpr.com/upload/2016/11/201611301441494251.jpg" alt="" border="0" hspace="0" /><img style="border-width: initial; border-image-width: initial; width: 130px; height: 38px;" title="EV国际认证.jpg" src="http://camnpr.com/upload/2016/11/201611301441498187.jpg" alt="" border="0" hspace="0" /><img style="border-width: initial; border-image-width: initial; width: 130px; height: 37px;" title="OV 数据加密.jpg" src="http://camnpr.com/upload/2016/11/201611301441501682.jpg" alt="" border="0" hspace="0" /><img style="border-width: initial; border-image-width: initial; width: 130px; height: 38px;" title="oV国际签章.jpg" src="http://camnpr.com/upload/2016/11/201611301441506137.jpg" alt="" border="0" hspace="0" /></p><h2>3.2 安装英文签章</h2><p>&nbsp;</p><p style="list-style-type: none;">如果您希望在英文页面显示认证标识，则在英文页面添加如下代码：</p><p style="list-style-type: none;"><strong>&lt;SCRIPT LANGUAGE="JavaScript" TYPE="text/javascript" SRC="upload/2016/11/201611301441500081.jpg" src="http://camnpr.com/upload/2016/11/201611301442102433.jpg" border="0" hspace="0" alt="" /&gt;<img style="border-width: initial; border-image-width: initial; width: 130px; height: 38px;" title="EV英文国际.jpg" src="http://camnpr.com/upload/2016/11/201611301442101473.jpg" alt="" border="0" hspace="0" /><img style="border-width: initial; border-image-width: initial; width: 130px; height: 37px;" title="图片19.png" src="http://camnpr.com/upload/2016/11/201611301442114507.png" alt="" border="0" hspace="0" /><img style="border-width: initial; border-image-width: initial; width: 130px; height: 38px;" title="oV英文国际认证.jpg" src="http://camnpr.com/upload/2016/11/201611301442112447.jpg" alt="" border="0" hspace="0" /></strong></p><h1><strong><strong>四、&nbsp;SSL证书的备份</strong></strong></h1><p><strong>请保存好收到的证书压缩包文件及密码，以防丢失</strong></p><h1><strong><strong>五、 SSL证书的恢复</strong></strong></h1><p><strong>重复2.3操作即可。</strong></p><p><strong>来源：http://www.zzidc.com/main/help/showHelpContent/id_463.html</strong></p>]]></description><category>服务器</category><comments>http://camnpr.com/server/2274.html#comment</comments><wfw:comment>http://camnpr.com/</wfw:comment><wfw:commentRss>http://camnpr.com/feed.asp?cmt=2274</wfw:commentRss><trackback:ping>http://camnpr.com/cmd.asp?act=tb&amp;id=2274&amp;key=b12492ab</trackback:ping></item><item><title>IIS7如何实现访问HTTP跳转到HTTPS访问</title><author>kuabaobao_com@163.com (kuabaobao)</author><link>http://camnpr.com/server/2273.html</link><pubDate>Wed, 30 Nov 2016 14:15:24 +0800</pubDate><guid>http://camnpr.com/server/2273.html</guid><description><![CDATA[<p>通常情况下我们是用的都是http的路径，对于https的使用也很少，但是随着https的普及越来越多的域名访问需要用到https的，这个我们就演示怎么设置在我们对一个http的网站进行访问时候自动跳转至https下。</p><p>用到的工具及软件:</p><p>系统：windows2008R2<br />软件：IIS7.0，IIS7.5，IIS的microsoft URL重写模块2.0</p><p>操作步骤：</p><h2>1、我们需要下载并在IIS中安装microsoft URL重写模块2.0</h2><p>下载地址：http://www.microsoft.com/zh-cn/download/details.aspx?id=7435</p><p>下载安装后我们重启IIS，再打开后会发现在功能视图中又多出了个URL重写的功能</p><p><img src="http://camnpr.com/upload/2016/11/201611301420373177.png" alt="IIS7如何实现访问HTTP跳转到HTTPS访问" /></p><h2>2、对站点进行域名绑定</h2><p>我们需要将https和http绑定在需要的站点上<br /><img src="http://camnpr.com/upload/2016/11/201611301420395573.png" alt="IIS7如何实现访问HTTP跳转到HTTPS访问" /></p><h2>3、进程SSL设置</h2><p><strong>在要求SSL的选择前<span style="color: red;">取消勾选</span></strong></p><p><img src="http://camnpr.com/upload/2016/11/201611301420395762.png" alt="IIS7如何实现访问HTTP跳转到HTTPS访问" /></p><h2>4、在URL中新建规则</h2><p>新建一个空白规则，让http的访问跳转到https上</p><p><img src="http://camnpr.com/upload/2016/11/201611301420401040.png" alt="IIS7如何实现访问HTTP跳转到HTTPS访问" /></p><p><img src="http://camnpr.com/upload/2016/11/201611301420402526.png" alt="IIS7如何实现访问HTTP跳转到HTTPS访问" /></p><p>起一个名字例如HTTP to HTTPS redirect</p><p>模式：(.*)</p><p><img src="http://camnpr.com/upload/2016/11/201611301420413385.png" alt="IIS7如何实现访问HTTP跳转到HTTPS访问" /></p><p>添加条件：{HTTPS}&nbsp;模式：off 或 ^OFF$<br /><img src="http://camnpr.com/upload/2016/11/201611301420415153.png" alt="IIS7如何实现访问HTTP跳转到HTTPS访问" /></p><p>&nbsp;</p><p>在操作设置中选择重定向：https://{HTTP_HOST}/{R:1} <br />重定向类型：已找到(302) 或 参阅其它(303)<br /><img src="http://www.landui.com/UploadFiles/editor/20160321/10104639726.png" alt="IIS7如何实现访问HTTP跳转到HTTPS访问" /></p><p>选择应用就可以了</p><h2>5、测试</h2><p><img src="http://camnpr.com/upload/2016/11/201611301420431412.png" alt="IIS7如何实现访问HTTP跳转到HTTPS访问" /></p><p>&nbsp;</p>]]></description><category>服务器</category><comments>http://camnpr.com/server/2273.html#comment</comments><wfw:comment>http://camnpr.com/</wfw:comment><wfw:commentRss>http://camnpr.com/feed.asp?cmt=2273</wfw:commentRss><trackback:ping>http://camnpr.com/cmd.asp?act=tb&amp;id=2273&amp;key=ef4e59cb</trackback:ping></item><item><title>IIS7/IIS7.5中绑定中文域名（直接输入中文域名）</title><author>camnpr@163.com (佚名)</author><link>http://camnpr.com/server/2221.html</link><pubDate>Wed, 30 Dec 2015 10:46:56 +0800</pubDate><guid>http://camnpr.com/server/2221.html</guid><description><![CDATA[<p>刚刚发现有个客户绑定的中文域名没法正常解析，而且网站没法启动，后来上网查了资料才发现IIS7/IIS7.5可以直接绑定中文域名，不需要转换编码。<br /><span style="color: rgb(255, 0, 0);"><strong>直接绑定中文域名就OK</strong></span>。</p><p>IIS 7/IIS7.5的500.19错误Value does not fall within the expected range</p><p>值不在预期范围内，也是因为这个引起的，按这个方法改了后就可以解决。</p><div class="yarpp-related yarpp-related-none"><p>No Related Articles.</p></div>]]></description><category>服务器</category><comments>http://camnpr.com/server/2221.html#comment</comments><wfw:comment>http://camnpr.com/</wfw:comment><wfw:commentRss>http://camnpr.com/feed.asp?cmt=2221</wfw:commentRss><trackback:ping>http://camnpr.com/cmd.asp?act=tb&amp;id=2221&amp;key=15b0d1bd</trackback:ping></item><item><title>快云VPS主机windows系统升级硬盘以后将未分配空间合并扩容到D盘</title><author>camnpr@163.com (佚名)</author><link>http://camnpr.com/server/2196.html</link><pubDate>Wed, 16 Dec 2015 10:31:47 +0800</pubDate><guid>http://camnpr.com/server/2196.html</guid><description><![CDATA[<p>Win主机扩容后增加D盘大小的流程如下：</p><p>如果不会操作，请提交工单由我司工作人员为您操作，工单类型选择为：重新设置磁盘分区（多余磁盘合并到D盘）,linux重挂分区等。　　（会有费用产生）</p><p>首先请检查您要扩展到的分区是否有设置虚拟内存，如果有请先取消虚拟内存，并重启。</p><p>重启后点击开始--运行，输入cmd，进入命令窗口，如图：</p><p><img src="http://camnpr.com/upload/2015/11/201511181522543275.gif" border="0" alt="命令窗口cmd" /></p><p>&nbsp;</p><p>依次输入以下命令：</p><p>diskpart&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 回车<br />list&nbsp; volume&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 回车（显示卷，找到D盘卷号，如：卷1）<br />select volume 1&nbsp; 回车（1在这里表示D盘）<br />extend&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 回车（表示将余下的空间全部增加到D盘）</p><p>操作流程如图（红色方框中是输入的命令）：</p><p><img src="http://camnpr.com/upload/2015/11/201511181523344273.gif" alt="执行分配扩容的cmd命令diskpart" /></p><p>最后提示：DiskPart 成功地扩展了卷。 就说明扩展已经完成，直接关闭命令窗口查看下D盘空间是否已经变大了。</p>]]></description><category>服务器</category><comments>http://camnpr.com/server/2196.html#comment</comments><wfw:comment>http://camnpr.com/</wfw:comment><wfw:commentRss>http://camnpr.com/feed.asp?cmt=2196</wfw:commentRss><trackback:ping>http://camnpr.com/cmd.asp?act=tb&amp;id=2196&amp;key=a66dfd47</trackback:ping></item><item><title>如何区分和选择windows server 2003与2008</title><author>camnpr@163.com (佚名)</author><link>http://camnpr.com/server/2199.html</link><pubDate>Mon, 14 Dec 2015 10:42:45 +0800</pubDate><guid>http://camnpr.com/server/2199.html</guid><description><![CDATA[<p>&nbsp;随着windows server 2012年的发布，windows server 2003逐渐走向衰亡，虽然未来一两年甚至两三年windows server还会在国内保持主流地位，不过为保证安全，还是推荐大家使用更新版本的windows服务器，不管是windows 2008，还是windows 2008R2,还是windows server 2012，都是更好的windows服务器选择。&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;下面简单介绍下windows 2003与windows 2008的区别联系与选择指南。&nbsp;</p><h2>&nbsp;&nbsp;&nbsp;&nbsp;windows 2003与windows 2008简介&nbsp;</h2><p><br />&nbsp;&nbsp;&nbsp;&nbsp;windows 2003是微软老一代的服务器系统，自带iis 6，操作界面类似于windows XP，因为国内很多IDC都喜欢用盗版windows 2003，因此windows 2003是目前最流行的windows服务器系统；正因为此，windows 2003的安全性备受质疑，很多居心不良的网友喜欢攻击windows 2003，系统漏洞补丁更新间隙是很不安全的。&nbsp;</p><p><br />&nbsp;&nbsp;&nbsp;&nbsp;windows 2008差不多是随着vista同期发布的，只是vista口碑不佳,windows 2008同样人气很低，国内提供windows 2008服务器的IDC不多，好比西部数码、万网什么的，目前开始提供windows 2008。windows 2008自带IIS 7或者IIS 7.5，可以自定义安装，而且windows 2008的防火墙更强大，做服务器会更安全，性能会提升不少，估计是20%。&nbsp;</p><h2>&nbsp;&nbsp;&nbsp;&nbsp;windows 2008及windows 2008 R2&nbsp;</h2><p><br />&nbsp;&nbsp;&nbsp;&nbsp;windows 2008是初期发布的版本，windows 2008 R2是安装大补丁后的系统，windows 2008系统是自带IIS 7，windows 2008 R2是自带IIS 7.5，IIS 7.5比IIS 7更完善，部分功能使用起来更简单，因此推荐使用windows 2008 R2版本。另外，这两个版本的系统实际上是同一代服务器系统，都会更新补丁，使用起来的功能差别不大。&nbsp;</p><h2>&nbsp;&nbsp;&nbsp;&nbsp;windows 2003或2008自带IIS简介&nbsp;</h2><p><br />&nbsp;&nbsp;&nbsp;&nbsp;windows 2003是自带iis 6的，windows 2008是自带iis 7，windows 2008 R2是自带iis 7.5的，相较于iis 6，iis7及iis7.5的自定义安装功能会更加强大，可以不必安装部分不安全的组件，这样会保证服务器的安全性。另外，iis 7及iis 7.5的界面会更简单，类似于虚拟主机的控制面板，很多功能清晰可见，比iis 6设置起来更简单。&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;iis 6的伪静态文件是httpd.ini，iis 7或iis 7.5的伪静态文件是web.config文件，不过iis 7或iis 7.5安装urlrewrite组件以后，可以轻松导入apache下面的伪静态文件，这样会让伪静态变得更简单。还有便是，iis7及iis 7.5设置gzip压缩及http缓存会更简单，不用编辑什么文件即可完成设置，很适合新手。&nbsp;</p><h2>&nbsp;&nbsp;&nbsp;&nbsp;如何选择windows 2003或2008&nbsp;</h2><p><br />&nbsp;&nbsp;&nbsp;&nbsp;前面已经简单说过，windows 2008是目前新款稳定的windows版本，相较于windows 2003会更安全，而且效率会更高，若有选择，同时内存大于1G，那么尽量选择windows 2008或者windows 2008 R2版本；当然，如果没有选择，或者内存小于1G，还是可以继续选择windows 2003。windows 2003相当于windows XP，windows 2008相当于windows 7，后者会是主流，前者已进入扩展技术支持服务期，补丁更新不会比后者及时，存在不低的安全隐患。&nbsp;</p><p><br />&nbsp;&nbsp;&nbsp;&nbsp;现在，还是小小预估下，预计未来一两年时间，国内过半的IDC都会提供windows 2008或windows 2008 R2版本的虚拟主机或VPS或云主机选择，不一定会让windows 2008成为主流，不过缺少主流技术支持的windows 2003迟早会被淘汰，还是早点结束更新的windows服务器吧。</p>]]></description><category>服务器</category><comments>http://camnpr.com/server/2199.html#comment</comments><wfw:comment>http://camnpr.com/</wfw:comment><wfw:commentRss>http://camnpr.com/feed.asp?cmt=2199</wfw:commentRss><trackback:ping>http://camnpr.com/cmd.asp?act=tb&amp;id=2199&amp;key=309eea6b</trackback:ping></item><item><title>服务器迁移时，IIS6备份与恢复IIS的完整设置</title><author>camnpr@163.com (佚名)</author><link>http://camnpr.com/server/2198.html</link><pubDate>Thu, 03 Dec 2015 10:57:22 +0800</pubDate><guid>http://camnpr.com/server/2198.html</guid><description><![CDATA[<p>Windows的IIS有一个非常&ldquo;坑爹&rdquo;的备份还原功能，和大部分备份还原不同的是，这个服务默认不支持不同电脑之间的备份还原，如果用户重装Windows的话，即使备份了IIS的相关文件，还原的时候还是提示&ldquo;无效签名&rdquo;，导致这个IIS无法恢复。</p><p>　　实际上，如果要在不同电脑之间（或者重装Windows）备份恢复IIS，需要在备份的时候输入密码，在还原的时候也输入密码，这样恢复才能正常，而默认是不输入密码则永远也无法成功恢复IIS配置，相信很多网站管理员都被微软这个坑爹的功能耍过。</p><p>　　如果你要重装系统，那么详细备份恢复IIS的步骤如下：campr.com</p><h2>　　一、IIS的备份</h2><p>　　1.在本地计算机上的 IIS 管理单元中，右键单击 Internet 信息服务下面的计算机图标。</p><p>　　2.选择&ldquo;所有任务\备份/还原配置&rdquo;选项。</p><p>　　3.点击&ldquo;创建备份&rdquo;按钮，在配置备份名称下输入你为备份起的名字</p><p>　　<strong>4.将&ldquo;使用密码加密备份&rdquo;勾选上（如果在做备份的时候，没有将&ldquo;使用密码加密备份&rdquo;勾选上，那么在重新安装系统后或者在另外一台计算机上还原时会提示&quot;无效的签名&quot;）</strong></p><p>　　5.输入密码，备份完成。</p><p>　　注：备份后的备份文件在 X：\WINDOWS\system32\inetsrv\MetaBack\ （X代表你安装系统的盘符）。</p><h2>　　二、IIS的还原</h2><p>　　1.将X：\WINDOWS\system32\inetsrv\MetaBack（X代表你安装系统的盘符）下的.sc0和.md0的两个备份的文件拷贝到新系统下的相同目录中。</p><p>　　2.在本地计算机上的 IIS 管理单元中，右键单击 Internet 信息服务下面的计算机图标。</p><p>　　3.选择&ldquo;所有任务\备份/还原配&rdquo;选项。</p><p>　　3.选中你的备份，点击还原，将出现一个对话框，提示&ldquo;还原配置数据库操作非常耗时，它将清除所有当前设置，并导致所有internet服务停止。当操作完成后，IIS将重新启动这些服务。您确信要继续吗？&rdquo;点是，然后弹出要求输入备份密码的对话框，输入完密码后，IIS备份就还原了。</p>]]></description><category>服务器</category><comments>http://camnpr.com/server/2198.html#comment</comments><wfw:comment>http://camnpr.com/</wfw:comment><wfw:commentRss>http://camnpr.com/feed.asp?cmt=2198</wfw:commentRss><trackback:ping>http://camnpr.com/cmd.asp?act=tb&amp;id=2198&amp;key=c8800249</trackback:ping></item><item><title>IIS7配置Gzip压缩（启用动态、静态内容压缩）</title><author>camnpr@163.com (佚名)</author><link>http://camnpr.com/server/2204.html</link><pubDate>Wed, 25 Nov 2015 10:46:17 +0800</pubDate><guid>http://camnpr.com/server/2204.html</guid><description><![CDATA[<div id="noimgcss"><p><strong>开启配置HTTP压缩（GZip）</strong></p><p>在IIS7中配置Gzip压缩相比IIS6来说实在容易了许多，而且默认情况下就是启用GZip压缩的。如果没有，则可以再功能视图下找到&ldquo;压缩&rdquo;项，进入之后就会看到&ldquo;静态内容压缩&rdquo;和&ldquo;动态内容压缩&rdquo;两个选项，勾上即可。</p><p><img title="IIS7 设置 压缩" src="http://camnpr.com/upload/2015/11/201511201511257013.png" alt="IIS7 设置 压缩" align="top" /></p><p><img title="IIS7 设置 压缩" src="http://camnpr.com/upload/2015/11/201511201511580603.png" alt="IIS7 设置 压缩" align="top" /></p><p><strong>配置启用压缩的文件类型及其他选项</strong></p><p>当开启GZip压缩之后，IIS并不是对所有内容都启用了压缩，而是有选择的进行压缩。遗憾的是，我们无法直接在IIS7管理器中配置这些压缩选项。我们首先需要在C:\Windows\System32\inetsrv\config文件夹下找到applicationhost.config文件，打开之后找到如下一节内容：</p><pre class="brush:c#">&lt;httpCompression directory=&quot;%SystemDrive%\inetpub\temp\IIS Temporary Compressed Files&quot;&gt;<br />    &lt;scheme name=&quot;gzip&quot; dll=&quot;%Windir%\system32\inetsrv\gzip.dll&quot; /&gt;<br />    &lt;dynamicTypes&gt;<br />        &lt;add mimeType=&quot;text/*&quot; enabled=&quot;true&quot; /&gt;<br />        &lt;add mimeType=&quot;message/*&quot; enabled=&quot;true&quot; /&gt;<br />        &lt;add mimeType=&quot;application/x-javascript&quot; enabled=&quot;true&quot; /&gt;<br />        &lt;add mimeType=&quot;*/*&quot; enabled=&quot;false&quot; /&gt;<br />    &lt;/dynamicTypes&gt;<br />    &lt;staticTypes&gt;<br />        &lt;add mimeType=&quot;text/*&quot; enabled=&quot;true&quot; /&gt;<br />        &lt;add mimeType=&quot;message/*&quot; enabled=&quot;true&quot; /&gt;<br />        &lt;add mimeType=&quot;application/javascript&quot; enabled=&quot;true&quot; /&gt;<br />        &lt;add mimeType=&quot;*/*&quot; enabled=&quot;false&quot; /&gt;<br />    &lt;/staticTypes&gt;<br />&lt;/httpCompression&gt; </pre><p>我们可以看到，IIS实际上是根据MIME类型来决定是否启用HTTP压缩的，以及压缩比之类的选项。可以看出，图片默认情况下是不被压缩的，这是因为<strong>图片的压缩比太低了。</strong></p><p>我们注意到，对于Javascript来说，上面对不同的mime类型配置了不同的压缩方式。Javascript有三种常见的Mime类型，text/javascript，application/x-javascript，application/javascript。这三种类型都是合法的，在现代浏览器中也不存在什么差别。但是<strong>由于IIS7中Js文件的mime类型默认被设置为application/x-javascript，也就是说对于js文件，使用的是动态内容压缩而不是静态内容压缩，因此会导致js文件有时经过压缩的，有时却没有压缩。</strong></p><p><img title="IIS7 设置 压缩" src="http://camnpr.com/upload/2015/11/201511201512232010.png" alt="IIS7 设置 压缩" align="top" /></p><p>由于js文件通常稳定之后不会再被修改了，因此建议改成静态压缩&mdash;&mdash;即把dynamicTypes这一节中的application/x-javascript挪到静态压缩节中。这样保证每次脚本都是被压缩过返回的。</p><p><strong>静态压缩及动态压缩的区别</strong></p><p>IIS7中的HTTP压缩分为&ldquo;静态内容压缩&rdquo;和&ldquo;动态内容压缩&rdquo;，其实这两个名字第一次接触很费解。什么是动态内容什么又是静态内容？实际上，准确的翻译应该是&ldquo;静态压缩&rdquo;和&ldquo;动态压缩&rdquo;。这两个词反应了IIS的压缩行为。对于配置在staticTypes节中的mime类型，将会启用静态压缩，也就是说，当文件第一次被请求的时候，IIS会将其压缩，然后放入临时文件夹中，下次再有人请求此文件时直接从临时文件夹中取出压缩后的版本而不用重新执行压缩的过程。配置在dynamicTypes一节中的mime类型的http请求都将启用动态压缩，即每一次请求，主机都会对请求的内容&mdash;&mdash;可能是存放在文件系统中的静态文件，也可能是ISAPI返回的内容&mdash;&mdash;进行压缩，而不会对其进行缓存。这个压缩比率因主机性能不同而会有所调整，所以我们在请求js文件的时候才会发现js文件有时压缩有时不压缩的情况。</p><p>显而易见，静态压缩会占用一定的存储空间，但是速度快，而动态压缩不占用存储空间，但是占用CPU时间，而且压缩比不恒定。而对于经过ISAPI的请求，则不能使用静态压缩方式。例如对于WCF返回的内容。</p></div>]]></description><category>服务器</category><comments>http://camnpr.com/server/2204.html#comment</comments><wfw:comment>http://camnpr.com/</wfw:comment><wfw:commentRss>http://camnpr.com/feed.asp?cmt=2204</wfw:commentRss><trackback:ping>http://camnpr.com/cmd.asp?act=tb&amp;id=2204&amp;key=66aa4f09</trackback:ping></item><item><title>景安快云VPS免费升级后Windows2003系统分区扩容</title><author>camnpr@163.com (佚名)</author><link>http://camnpr.com/server/2197.html</link><pubDate>Mon, 23 Nov 2015 11:02:10 +0800</pubDate><guid>http://camnpr.com/server/2197.html</guid><description><![CDATA[<div id="noimgcss"><p>点击升级后打开系统的磁盘管理器，发现第一块的磁盘变成了30G或者40G，除原来系统占用的10G外，剩下20G或者30G的未用空间，这个时候可以用Extpart对C盘进行大小调整，请在执行如下的操作的时候，请确保通过磁盘管理器查看到的分区后有紧跟着的未余空间。</p><p>DELL&nbsp;EXpart.exe</p><p>下载地址：ftp://ftp.dell.com/app/ExtPart.exe&nbsp;&nbsp;</p><p>帮助说明：ftp://ftp.dell.com/app/ExtPart.txt</p><p>下面将举例为你讲解如果对C盘分区进行扩容</p><p>1、解压缩下载的软件到指定的目录，如c:\dell\ExtPart</p><p><strong><img src="http://camnpr.com/upload/2015/11/201511181539175406.jpg" alt="Windows2003系统分区扩容 ExtPart" width="352" height="140" /></strong></p><p>2、打开CMD&nbsp;命令行窗口，切换到上面解压缩的目录，双击运行extpart；或者直接去解压缩目录双击运行Extpart</p><p><strong><img src="http://camnpr.com/upload/2015/11/201511181539177464.jpg" alt="Windows2003系统分区扩容 cmd" width="508" height="134" /></strong></p><p>3、输入要调整的盘符，如C:&nbsp;&nbsp;或者&nbsp;D:</p><p><strong><img src="http://camnpr.com/upload/2015/11/201511181539171623.jpg" alt="Windows2003系统分区扩容 cmd extpart" width="489" height="160" /></strong></p><p>4、输入要扩容的大小，如：4G=4096MB，(注意此处大小是要扩容的大小，不是总大小；此扩容只能扩不能减)</p><p><strong><img src="http://camnpr.com/upload/2015/11/201511181539174308.jpg" alt="Windows2003系统分区扩容 cmd extpart" width="485" height="169" /></strong></p><p><strong><img src="http://camnpr.com/upload/2015/11/201511181539182552.jpg" alt="Windows2003系统分区扩容 磁盘管理" width="542" height="97" /></strong></p><p>如果此处扩容失败，提示您无法扩容指定大小，您可以再次打开磁盘管理器，查看未用空间大小，打开计算器进行下换算即可。比如您看到的磁盘上C盘分区后紧跟了2.23GB未用空间。</p><p>换算成MB，就是2.23&nbsp;x&nbsp;1024的结果，再次输入到这里</p><p><strong><img src="http://camnpr.com/upload/2015/11/201511181539184015.jpg" alt="Windows2003系统分区扩容 cmd" width="251" height="26" /></strong>2283.52&nbsp;&nbsp;//回车即可。</p><p>上述方法是针对WINDOWS&nbsp;2003服务器操作系统的操作。如果您的系统是WINDOWS7&nbsp;以上版本（WINDOWS&nbsp;2008等），您可以参考如下链接，进行磁盘扩容。</p><p>在Windows&nbsp;7中,&nbsp;如何对未分配的磁盘空间进行分区?</p><p><a href="http://camnpr.com/TuiJianTools/Handler/gotoUrl.ashx?url=http%3A%2F%2Fsupport%7Cmicrosoft%7Ccom%2Fkb%2F2499079%2Fzh-cn" target="_blank">http://support.microsoft.com/kb/2499079/zh-cn</a></p><p>WINDOWS&nbsp;2008下扩展卷</p><p><a href="http://camnpr.com/TuiJianTools/Handler/gotoUrl.ashx?url=http%3A%2F%2Ftechnet%7Cmicrosoft%7Ccom%2Fzh-cn%2Flibrary%2Fcc771939%7Caspx" target="_blank">http://technet.microsoft.com/zh-cn/library/cc771939.aspx</a></p></div>]]></description><category>服务器</category><comments>http://camnpr.com/server/2197.html#comment</comments><wfw:comment>http://camnpr.com/</wfw:comment><wfw:commentRss>http://camnpr.com/feed.asp?cmt=2197</wfw:commentRss><trackback:ping>http://camnpr.com/cmd.asp?act=tb&amp;id=2197&amp;key=9436aa67</trackback:ping></item></channel></rss>
