我目前正在研究 DotNetNuke website (07.03.02) ,我正在努力 migrate it to Azure . 网站 is working on my local machine with IIS .
所以我在Azure上创建了一个新的Web应用程序来托管网站文件 . 我还在Azure上创建了一个新数据库,并导入了我的DNN备份数据库 .
我更改了web.config中的连接字符串以使用我的Azure数据库,我上传了Azure上的网站文件夹 .
现在,如果我尝试使用链接 [sitename].azurewebsites.net 浏览我的webapp,则会收到以下错误:
数据库中不存在DNN错误域名DotNetNuke支持单个数据库/代码库中的多个网站 . 它通过将客户端浏览器Request的URL转换为Portals数据库表中的有效PortalID来实现此目的 . 以下步骤描述了该过程:Web服务器处理当Web服务器从客户端浏览器接收请求时,它会将目标URL资源上的文件扩展名与IIS中定义的Application Extension Mappings进行比较 . 根据相应的匹配,IIS然后将请求发送到定义的可执行路径(在ASP.NET请求的情况下为aspnet_asapi.dll) . aspnet_isapi.dll引擎在以Application_BeginRequest开头的一系列有序事件中处理Request . HttpModule.URLRewrite OnBeginRequest(UrlRewriteModule.vb)基于“/”字符解析请求URL使用每个相关解析的URL段构造域名 . 示例:网址:http://www.exemple.com/default.aspx =域名:www.exemple.com网址:http://209.75.24.131/default.aspx =域名:209.75.24.131网址:http: //localhost/DotNetNuke/default.aspx =域名:localhost / DotNetNuke网址:http://www.exemple.com/virtualdirectory/default.aspx =域名:www.exemple.com/virtualdirectory网址:http:// www.exemple.com/directory/default.aspx =域名:www.exemple.com/directory使用域名,应用程序查询数据库(门户表 - PortalAlias字段)以查找匹配的记录 . 注意:如果有多个URL对应于同一网站,则网站别名字段必须包含逗号分隔列表中的每个有效域名 . 示例:URL:http://localhost/DotNetNuke/default.aspx URL:http://MACHINENAME/DotNetNuke/default.aspx URL:http://209.32.134.65/DotNetNuke/default.aspx PortalAlias:localhost / DotNetNuke,MACHINENAME /DotNetNuke,209.32.134.65/DotNetNuke注意:如果要将应用程序安装到远程服务器,则必须根据上面定义的规则修改Portals表中默认记录的PortalAlias字段值 .
所以我将网站别名([sitename] .azurewebsites.net)记录插入了 PortalAlias table 中,正如turorial中所提到的那样 .
现在,当我尝试访问网站 [sitename].azurewebsites.net
时,我没有以前的DNN错误,但它加载了很长时间,然后我收到以下错误:
www . [sitename] .azurewebsites.net的服务器DNS地址无法找到 . DNS_PROBE_FINISHED_NXDOMAIN
加载结束后,发生 the URL curiously become https://www.[sitename].azurewebsites.net
和DNS错误 .
我需要在Azure或我的web.config文件中更改某些内容吗?也许在DotNetNuke或ASP版本中有配置的东西?
我不知道为什么我的浏览器更改了网址以及为什么会出现此dns错误(我的本地IIS服务器没有问题) .
(我也尝试使用教程中提到的 automatic portal alias transfer ,但我得到了相同的结果:别名插入数据库但我仍然有NXdomain错误)
谢谢您的帮助 !
艾蒂安 .
2 回答
在您的原始帖子中,您有:
尝试手动放置 . (完整的,带冒号的http等)有时网络浏览器会自动添加WWW,认为你想要它(我讨厌他们那样做) . Azure不知道www子域,因此这可能是您收到该错误的原因 .
编辑:哦,加载时间很长 - 这意味着azure编译了你的网站,你没有得到编译错误 .
您收到来自DNN的错误这一事实是个好消息,并且意味着您(可能)正确完成了主要工作 .
现在,您需要进入数据库并修改PortalAlias表,以便为sitename.azurewebsites.net提供别名 . (我假设sitename周围的括号不正确“[sitename]”可以替换为您网站的实际域名 . )