文档章节

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

 大东家
发布于 2015/01/13 10:28
字数 667
阅读 23
收藏 0

我试图在一台服务器上安装一个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”。

本文转载自:http://blog.csdn.net/xiaohelong2005/article/details/4578307

粉丝 22
博文 255
码字总数 111936
作品 0
长沙
项目经理
私信 提问
2015开篇——配置nginx URL有感

人总是习惯在懒散中拥抱自我。 每次遇到坑了,就巴望着留下点什么来记录一下,以前总是通过给代码增加注释来备忘。当然,博客是最好的记忆工具,没有之一。 这两天公司产品频繁新上线一些周边...

小楒叔
2015/03/14
1K
1
nginx监听端口非80时的转发问题

该问题是最先发现的,由于之前对nginx不是特别的熟悉所以该问题是个入门级别的: server { listen 80; server_name localhost; location / { proxy_pass http://192.168.1.100:8080; proxys...

mn_1127
2014/03/14
15.6K
3
快速安装Tomcat 并实现HTTPS访问

HTTPS,在HTTP下加了一层SSL,用于安全的HTTP数据传输,对于数据敏感的网址必须要使用HTTPS协议,本文将介绍如何快速安装Tomcat,并实现HTTPS访问。 安装Tomcat 安装tomcat必须得有java环境,...

HowardSir
2018/06/29
0
0
nginx做前端,phpMyAdmin登录问题

环境: 使用nginx基于端口代理httpd。 问题 现在把phpmyAdmin放在了,8081端口。 用nginx做代理80. 直接访问localhost,可以出现phpmyadmin的登录也,但是当登录后,就跳转到了localhost:808...

SilenceSu
2013/08/29
835
2
借助ngrok工具,解决本地微信开发的麻烦

简介 微信开发,认证接口需要公网IP和80端口,给本地开发和测试带来麻烦,借助ngrok可以解决这个问题。 2. 使用方法 2.1 准备 官网下载,并解压ngrok。 2.2 启动ngrok 进入ngrok根目录,命令...

降龙罗汉
2014/05/08
10.6K
28

没有更多内容

加载失败,请刷新页面

加载更多

OpenStack 简介和几种安装方式总结

OpenStack :是一个由NASA和Rackspace合作研发并发起的,以Apache许可证授权的自由软件和开放源代码项目。项目目标是提供实施简单、可大规模扩展、丰富、标准统一的云计算管理平台。OpenSta...

小海bug
昨天
6
0
DDD(五)

1、引言 之前学习了解了DDD中实体这一概念,那么接下来需要了解的就是值对象、唯一标识。值对象,值就是数字1、2、3,字符串“1”,“2”,“3”,值时对象的特征,对象是一个事物的具体描述...

MrYuZixian
昨天
6
0
数据库中间件MyCat

什么是MyCat? 查看官网的介绍是这样说的 一个彻底开源的,面向企业应用开发的大数据库集群 支持事务、ACID、可以替代MySQL的加强版数据库 一个可以视为MySQL集群的企业级数据库,用来替代昂贵...

沉浮_
昨天
6
0
解决Mac下VSCode打开zsh乱码

1.乱码问题 iTerm2终端使用Zsh,并且配置Zsh主题,该主题主题需要安装字体来支持箭头效果,在iTerm2中设置这个字体,但是VSCode里这个箭头还是显示乱码。 iTerm2展示如下: VSCode展示如下: 2...

HelloDeveloper
昨天
7
0
常用物流快递单号查询接口种类及对接方法

目前快递查询接口有两种方式可以对接,一是和顺丰、圆通、中通、天天、韵达、德邦这些快递公司一一对接接口,二是和快递鸟这样第三方集成接口一次性对接多家常用快递。第一种耗费时间长,但是...

程序的小猿
昨天
10
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部