DNN使用非80端口和总是跳转到http://localhost问题的解决

2019独角兽企业重金招聘Python工程师标准>>> hot3.png

我试图在一台服务器上安装一个DNN网站时,遇到了一些问题。
问题一:
遇到的第一个问题就是网站总是自动导向到localhost。不管我怎么试,只要我输入http://domain.com/dnn,总是自动导向http://localhost/dnn,这样会导致外部无法访问这个网站。
解决方法:
这个问题比较容易解决:
使用host登录
到Admin->Site Setting Page
在Portal Alias(网站别名)设置里,添加一个新的Http 别名”domain.com/dnn”
在网站使用默认的80端口时,这样设置就可以解决问题了。

 


问题二:
当我想把这个DNN网站放在8080端口上运行时,比如http://domain.com:8080/dnn,如果我点击某个链接想转到其它页面时,URL中的端口号会消失,如http://domain.com:8080/会自动变为http://domain.com/

解决方法:
在Google了一番之后,我仔细的看了web.config文件,发现在web.config文件里面清楚的注明了:
<!-- set UsePortNumber to true to preserve the port number if you're using a port number other than 80 (the standard)
    <add key="UsePortNumber" value="true" /> -->

 


我修改了appsettings节,并且增加了下面这一行:
<add key="UsePortNumber" value="true" />

同时我添加了一个新的Http别名“domain.com:8080”

这样修改之后,使用http://localhost:8080的形式不会自动丢掉端口号,使用http://domain.com:8080的形式任然会自动丢掉端口号,变成http://domain.coom 的形式

注释:后来我发现这个不是DNN的问题了,而是我路由器设置和端口转发的问题,这个随后讨论。
问题三:
在增加“UsePortNumber”设置后任然没有解决我的问题。
解决方法:
对于安装DNN的机器,我路由器的设置会把给8080端口的数据都转发到80端口上来。所以当我访问http://domain.com:8080 ,DNN Request对象得到的URL实际上是http://domain.com,并且DNN做URL rewrite的时候,都是处理的htpp://domain.com。

这对我是个大问题,最开始我想得写一个404 Page not found的HttpHandler来解决问题,但我很快就意识到这个事件在这个情况根本就触发不了。随后我想通过修改DNN的handlers来处理这个问题,最后我通过修改IIS和Router设置解决了问题。

在IIS里,我把默认站点(DNN所在站点)设置为使用8080端口

在路由器设置里,对于8080端口的转发由80改为8080(实际上就是不转发)
确保DNN的Http别名里添加了“domain.com:8080/dnn”。

转载于:https://my.oschina.net/xiaohelong/blog/366869

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/400987.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

解决解决鼠标右键被锁定

现象&#xff1a;我的电脑不知道为什么鼠标右键被锁定了&#xff0c;用不了。请问如何解决&#xff1f;可能是有人在你的注册表中做了手脚&#xff0c;锁定了右键菜单。打开注册表编辑器&#xff0c;选择以下子键&#xff1a;“HKEY_CURRENT_USER\Software\Microsoft\Windows\C…

Jmter操作数据库

1、导入jdbc的jar包&#xff0c;因为jmeter本身不能直接连接mysql&#xff0c;所以需要导入第三方的jar包&#xff0c;来连接mysql&#xff0c;如下操作&#xff1a;2、创建数据库连接如下&#xff1a; 3、配置mysql的url、端口号、账号、密码注意上面的Database URL&#xff1…

通过telnet连接查看memcache服务器

memcache作为一款优秀的进程外缓存&#xff0c;常常被运用于高并发系统架构中。这里主要谈谈怎么通过telnet工具&#xff0c;查看memcache运行状况并对其key进行管理维护。假设memcache安装目录&#xff1a;/usr/local/memcached 1、启动memcache [plain] view plaincopy [root…

Ubuntu的一些软件源

&#x1f680; 优质资源分享 &#x1f680; 学习路线指引&#xff08;点击解锁&#xff09;知识定位人群定位&#x1f9e1; Python实战微信订餐小程序 &#x1f9e1;进阶级本课程是python flask微信小程序的完美结合&#xff0c;从项目搭建到腾讯云部署上线&#xff0c;打造一…

ComponentOne FlexGrid for WinForms 中文版快速入门(9)—过滤

C1FlexGrid过滤 表格中的数据过滤通常有两种形式&#xff1a; 基于表头&#xff1a;过滤器的图标出现在有一个过滤器适用于它的每一列。用户可以通过点击过滤器的图标来查看和编辑过滤器。这是Windows 7或Vista或C1FlexGrid控件使用的机制。这种类型的过滤器的主要优点是&…

Pycharm搜索导航之文件名、符号名搜索

1、准备一个工程 向你的工程中添加一个Python文件&#xff0c;并输入一些源码&#xff0c;例如&#xff1a; 2、转到对应文件、类、符号 Pycharm提供的一个很强力的功能就是能够根据名称跳转到任何文件、类、符号所在定义位置。 3、跳转到文件 按下CtrlShiftN快捷键&#xff0c…

asp.net6 blazor 文件上传

&#x1f680; 优质资源分享 &#x1f680; 学习路线指引&#xff08;点击解锁&#xff09;知识定位人群定位&#x1f9e1; Python实战微信订餐小程序 &#x1f9e1;进阶级本课程是python flask微信小程序的完美结合&#xff0c;从项目搭建到腾讯云部署上线&#xff0c;打造一…

分享网页设计当中使用进度条打造精美界面最佳例子

进度条是用户界面的重要组成部分&#xff0c;他向用户显示当前的下载进度&#xff0c;一个小的圆形因素使得界面不是更方便也更容易理解让我们举个例子&#xff0c;想象你去一个网站&#xff0c;你需要下载视频&#xff0c;你选择一个文件&#xff0c;按下"下载"按钮…

选项卡的制作和注意要点

说到选项卡。一開始我还真有点搞不懂怎么弄出来的&#xff0c;但一想事实上也比复杂啊。无非就是把事件和事件的范围给控制好即可了。第一事件&#xff1a;事件就两个&#xff0c;鼠标放上去还有鼠标离开&#xff0c;即放上显示。离开隐藏。 第二事件的范围&#xff1a; 这是关…

基于SqlSugar的开发框架循序渐进介绍(5)-- 在服务层使用接口注入方式实现IOC控制反转

&#x1f680; 优质资源分享 &#x1f680; 学习路线指引&#xff08;点击解锁&#xff09;知识定位人群定位&#x1f9e1; Python实战微信订餐小程序 &#x1f9e1;进阶级本课程是python flask微信小程序的完美结合&#xff0c;从项目搭建到腾讯云部署上线&#xff0c;打造一…

Synergy如果timeout的可能原因

在使用Synergy的过程中&#xff0c;如果你确认你的server端和client端设置都正确&#xff0c;但是start之后client端一直显示超时&#xff0c;那么可能的一个原因是你的server和client不在同一个网段&#xff0c;比如一个直接是接的网线&#xff0c;一个用的是wifi&#xff0c;…

未将对象引用设置到对象的实例--可能出现的问题总结

一、网络上的一般说法 1、ViewState 对象为Null。2、DateSet 空。3、sql语句或Datebase的原因导致DataReader空。4、声明字符串变量时未赋空值就应用变量。5、未用new初始化对象。6、Session对象为空。7、对控件赋文本值时,值不存在。8、使用Request.QueryString()时,所获取的对…

最长回文子串 C++

在一个字符串中要到最长的回文子串&#xff0c;有如下方案&#xff0c;代码在最后。 最长回文子串的相关博文 1、暴力法 最容易想到的就是暴力破解&#xff0c;求出每一个子串&#xff0c;之后判断是不是回文&#xff0c;找到最长的那个。 求每一个子串时间复杂度O(N^2)&#x…

软件项目管理 3.5.敏捷生存期模型

&#x1f680; 优质资源分享 &#x1f680; 学习路线指引&#xff08;点击解锁&#xff09;知识定位人群定位&#x1f9e1; Python实战微信订餐小程序 &#x1f9e1;进阶级本课程是python flask微信小程序的完美结合&#xff0c;从项目搭建到腾讯云部署上线&#xff0c;打造一…

altiumer designer学习

1.s快捷键&#xff0c;是进行多样的选择。 2.ctrls,是参看其中的一层。 3.选中器件后&#xff0c;右键点击选择align->position component text,可以选择desingator或者comment&#xff0c;有N种位置可以选择&#xff0c;这样器件的标注就统一在某一位置了. 4.转载于:https:…

烈焰SWF解密

SWF 解密 是用UE编辑器 改 SWF开头 的AA AA AA &#xff0c;改成43 57 53 就解密了

Promise总结

Promise解决什么问题 1. Promise解决了回调嵌套问题2. Promise提供了一些简单的流程控制&#xff0c;如Promise.all(全部完成),Promise.race(最先完成) 转载于:https://www.cnblogs.com/mengff/p/6854189.html

Anti-Forgery Request Recipes For ASP.NET MVC And AJAX 防伪验证,防伪请求

怎样在每一个action添加防伪验证 怎样在运行时指定非因定salt加密令牌 怎样在ajax场景带上服务端防伪验证 This post discusses solutions for anti-forgery request scenarios in ASP.NET MVC and AJAX: How to enable validation on controller, instead of on each action;H…

spark内核揭秘-02-spark集群概览

2019独角兽企业重金招聘Python工程师标准>>> Spark集群预览&#xff1a; 官方文档对spark集群的初步描述如下&#xff0c;这是一个典型的主从结构&#xff1a; 官方文档对spark集群中的一些关键点给出详细的指导&#xff1a; 其Worker的定义如下所示&#xff1a; 需…

使用docker创建和运行跨平台的容器化的mssql数据库

&#x1f680; 优质资源分享 &#x1f680; 学习路线指引&#xff08;点击解锁&#xff09;知识定位人群定位&#x1f9e1; Python实战微信订餐小程序 &#x1f9e1;进阶级本课程是python flask微信小程序的完美结合&#xff0c;从项目搭建到腾讯云部署上线&#xff0c;打造一…