部署网站遇到的几点问题

1、RSA导入Key

先提示以下:aspnet_regiis.exe 在 C:/WINDOWS/Microsoft.NET/Framework/v2.0.50727 下。C 盘是我的安装路径。所以使用 DOS 命令要注意路径。(可以通过 开始菜单 -> 所有程序 -> Microsoft Visual Studio 2005 -> Visual Studio Tools -> Visual Studio 2005 命令提示 来打开使用 aspnet_regiis 命令的 cmd 界面。)

        步骤如下:

        (1)在当前计算机上,导出 RSA密钥容器。(可以在导出文件前指定路径。)

        aspnet_regiis -px "NetFrameworkConfigurationKey" D:/RSAkeys.xml -pri

        (2)在当前计算机上,用企业库工具加密配置文件。ProtectedConfigurationProvider 只能选择

        RsaProtectedConfigurationProvider。

        (3)在部署的计算机上, 导入名为 "NetFrameworkConfigurationKey" 的 RSA 密钥容器。

        aspnet_regiis -pi "NetFrameworkConfigurationKey" D:/RSAkeys.xml

        (1)和(2)可以在当前计算机直接操作,(3)的 DOS 命令可以在部署时由程序中完成。

        这样就完成了!

        提示一下:有可能步骤(1)导出失败,它不能使用 -pri 这个参数,而这个参数是导出解密使用的信息!如果没有它,在其他机器上只能加密新的东西。那么解决方法如下:

        (1)在当前计算机上, 创建新的 RSA 密钥容器,它的名称为: CustomKeys 。(这里有个用户级别和计算机级别的,下面的方式是创建计算机级别的,名字按照你的要求取)

        aspnet_regiis -pc "CustomKeys" -exp


        (2) 在当前计算机上, 向帐户授予访问权限

        aspnet_regiis -pa "CustomKeys" "NT AUTHORITY/NETWORK SERVICE"

        其他需要访问权限的帐户也应该被授权。

        (3)在当前计算机上,导出 RSA密钥容器。(可以在导出文件前指定路径。)

        aspnet_regiis -px "CustomKeys" D:/RSAkeys.xml -pri


        (4)在当前计算机上,将machine.config (在C:/WINDOWS/Microsoft.Net/Framework/v2.0.50727/CONFIG) 中 keyContainerName = "NetFrameworkConfigurationKey"  替换为我们新创建的名称:keyContainerName  = "CustomKeys"。

        (5)在当前计算机上,用企业库工具加密配置文件。ProtectedConfigurationProvider只能选择 RsaProtectedConfigurationProvider。

        (6)在部署的计算机上, 导入名为 "NetFrameworkConfigurationKey" 的 RSA 密钥容器。

        aspnet_regiis -pi "NetFrameworkConfigurationKey" D:/RSAkeys.xml


        顺便提一下删除 RSA密钥容器 的命令:

        aspnet_regiis -pz "CustomKeys"

        当你输入一个错误的命令,会显示帮助命令信息。另外提示: 以上命令如果使用复制的方式,一定要注意检查下划线和空格的位置!

 2、未能写入输出文件“c:\Windows\Microsoft.NET\Framework64\v4.0.30319\Temp\App_global.asax.lra4cdoj.dll' -- '拒绝访问

在本地开发环境没问题,但是发布到服务器出现:未能写入输出文件“c:\Windows\Microsoft.NET\Framework64\v4.0.30319\Temporary ASP.NetFiles\root\106f9ae8\cc0e1169\App_global.asax.haz99mum.dll”--“拒绝访问。 ”错误

解决方法:

1,通常的解决方法:原因是由于系统目录下的Temp目录无相应的权限所致,具体操作如下:C:\Windows\temp-->属性-->安全-->编辑-->添加NETWORK SERVICE用户的读写权限就可以解决. 

2,打开服务器系统c盘,打开window, 右键temp 属性 安全 编辑 添加IIS_IUSRS 用户控制权限添加修改和写入权限即可。这是Windows Server 2008 R2 标准版 SP1 64位中文版解决办法。(我的是这个问题.这样就解决了,上面的network service不用也行)

 
 

posted on 2017-04-12 14:51  ~学无止境~  阅读(221)  评论(0编辑  收藏  举报

导航