如何在NancyFX SelfHost中将所有请求从HTTP转发/重定向到HTTPS?

如何在NancyFX SelfHost中将所有请求从HTTP转发/重定向到HTTPS?,http,redirect,https,nancy,self-hosting,Http,Redirect,Https,Nancy,Self Hosting,我正在尝试获取它,以便任何请求: http://:1234 被重定向到: https://:1234 我曾尝试在模块中使用“this.RequiresHttps()”,但当我点击urlhttp://:1234时,浏览器只是旋转,我猜这是因为我没有使用http URI构造NancyHost。我无法将HTTP URI与HTTPS URI一起添加到NancyHost,如下所示: var host=new NancyHost(新Uri(“http://localhost:1234“”,新Uri(“”)h

我正在尝试获取它,以便任何请求:

http://:1234

被重定向到:

https://:1234

我曾尝试在模块中使用“this.RequiresHttps()”,但当我点击url
http://:1234
时,浏览器只是旋转,我猜这是因为我没有使用http URI构造
NancyHost
。我无法将HTTP URI与HTTPS URI一起添加到NancyHost,如下所示:

var host=new NancyHost(新Uri(“http://localhost:1234“”,新Uri(“”)https://localhost:1234"));

因为我会遇到注册冲突


有什么想法吗?

您不能让http和https在同一端口上侦听。更改https绑定的端口,并在RequiresHttps调用中指定

不能让http和https在同一端口上侦听。更改https绑定的端口,并在RequiresHttps调用中指定

如果是这样的话,有些网站是怎么运作的?我使用HTTP访问同一端口,然后被重定向到使用同一端口的HTTPS版本。它们没有;)如果您没有看到指定的端口,那么它是443。您还需要将证书绑定到url保留,您这样做了吗?这是标准的http.sys/httplistener东西,顺便说一句,不是南希特有的。哈,所以我回到一个内部站点进行了仔细检查,因为这已经有一段时间了,是的,你是对的,他们只是在做80到443:(有点糟糕。你会认为有办法读入请求并重定向到另一个协议。我在这个部门显然一无所知。回答你的另一个问题,是的,我已经使用netsh将证书绑定到端口。SSL的东西工作得很好。不同的协议,不同的端口,这就是它的工作方式。如果这是case,有些站点是如何运行的?我使用HTTP访问同一端口,然后使用同一端口重定向到HTTPS版本。它们没有;)如果您没有看到指定的端口,那么它是443。您还需要将证书绑定到url保留,您这样做了吗?这是标准的http.sys/httplistener,顺便说一句,不是Nancy特定的。哈,所以我回到一个内部站点进行了双重检查,因为这已经有一段时间了,是的,您是对的,他们正在执行80到443:(有点糟糕。你可能认为有办法读入请求并重定向到另一个协议。我在这个部门显然一无所知。回答你的另一个问题,是的,我已经使用netsh将证书绑定到端口。SSL的东西工作得很好。不同的协议,不同的端口,这就是它的工作方式。