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

简介: 我试图在一台服务器上安装一个DNN网站时,遇到了一些问题。问题一: 遇到的第一个问题就是网站总是自动导向到localhost。不管我怎么试,只要我输入http://domain.com/dnn,总是自动导向http://localhost/dnn,这样会导致外部无法访问这个网站。
我试图在一台服务器上安装一个DNN网站时,遇到了一些问题。

问题一:

遇到的第一个问题就是网站总是自动导向到localhost。不管我怎么试,只要我输入http://domain.com/dnn,总是自动导向http://localhost/dnn,这样会导致外部无法访问这个网站。

解决方法:

  1. 这个问题比较容易解决:
  2. 使用host登录
  3. 到Admin->Site Setting Page
  4. 在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设置解决了问题。

  1. 在IIS里,我把默认站点(DNN所在站点)设置为使用8080端口
  2. 在路由器设置里,对于8080端口的转发由80改为8080(实际上就是不转发)
  3. 确保DNN的Http别名里添加了“domain.com:8080/dnn”。

到这里,所有问题都解决了。


原文地址: http://geekswithblogs.net/shahed/archive/2008/02/19/119788.aspx
相关文章
|
5月前
|
安全 前端开发
Refused to load the image 'http://localhost:9527/favicon.ico'
Refused to load the image 'http://localhost:9527/favicon.ico'
27 0
|
4月前
|
JavaScript
如何让Vue项目本地运行的时候,同时支持http://localhost和http://192.168.X.X访问?
如何让Vue项目本地运行的时候,同时支持http://localhost和http://192.168.X.X访问?
|
9月前
|
安全 网络协议 应用服务中间件
Nginx配置http跳转https
Nginx配置http跳转https
270 0
|
2月前
|
机器学习/深度学习 前端开发 JavaScript
源映射错误:Error: request failed with status 404 源 URL:http://localhost:8080/bootstrap/js/axios-0.18.0.js
源映射错误:Error: request failed with status 404 源 URL:http://localhost:8080/bootstrap/js/axios-0.18.0.js
43 0
源映射错误:Error: request failed with status 404 源 URL:http://localhost:8080/bootstrap/js/axios-0.18.0.js
|
2月前
|
前端开发 应用服务中间件 网络安全
在Apache上http强制跳转到https无效的解决办法
在Apache上http强制跳转到https无效的解决办法
|
3月前
|
存储 安全 网络安全
HTTP与HTTPS的区别:安全性、协议地址和默认端口等比较
HTTP与HTTPS的区别:安全性、协议地址和默认端口等比较
151 0
|
4月前
|
网络协议 Linux
百度搜索:蓝易云【【http服务】使用命令来查看和停止端口教程。】
通过按照上述步骤使用命令来查看和停止端口,您可以轻松地管理正在运行的服务。请确保在停止端口上的服务时,选择正确的端口号,并谨慎操作以避免影响其他正常运行的服务。
33 0
|
4月前
|
应用服务中间件 Android开发
Eclipse中启动tomcat后,无法访问localhost:8080(HTTP Status 404)
Eclipse中启动tomcat后,无法访问localhost:8080(HTTP Status 404)
59 0
|
6月前
|
Kubernetes Linux Docker
Kubernetes v1.22.1部署报错2: Get “http://localhost:10248/healthz“
Kubernetes v1.22.1部署报错2: Get “http://localhost:10248/healthz“
|
10月前
Uncaught DOMException: Blocked a frame with origin "http://localhost:8000" from accessing a cross-origin frame.
Uncaught DOMException: Blocked a frame with origin "http://localhost:8000" from accessing a cross-origin frame.
194 0