繁体   English   中英

我无法使用IIS和IISNode从Windows Server 2012外部访问我的网站

[英]I can't access my website from outside Windows Server 2012 using IIS and IISNode

我买了一台新的专用服务器。 我有一个MEAN Stack应用程序(Node.js,Angular,MongoDB,Express),并想利用IIS来发布我的Web应用程序。

我按照本指南进行操作,以安装iisnode并使litle node.js服务器正常工作。

我做到了,并在服务器内部的浏览器中成功尝试了http://iisnode.local

另一方面,如果我尝试http://(theIPoftheserver)/iisnode.local,我将收到以下错误:

在此处输入图片说明

我需要为从外部访问服务器做一些事情,但是我不知道该怎么办。

如果我去http://(theIPoftheserver)/我可以看到IIS网站,即使我去http://(theIPoftheserver)/ node我也可以看到iisnode网站...

我是新手,我需要一些帮助...

我的web.config文件:

<configuration>
    <system.webServer>

        <!-- indicates that the server.js file is a node.js application
        to be handled by the iisnode module -->

        <handlers>
            <add name="iisnode" path="server.js" verb="*" modules="iisnode" />
        </handlers>


        <rewrite>
            <rules>
                <rule name="sendToNode">
                    <match url="/*" />
                    <action type="Rewrite" url="server.js" />
                </rule>
            </rules>
        </rewrite>

        <iisnode enableXFF="true" />

    </system.webServer>
</configuration>

编辑:我也不得不提到,我在Windows的hosts文件中有一个新规则,如下所示:

127.0.0.1   iisnode.local

EDIT2:Windows防火墙可以阻止某些内容吗? 我需要断开连接吗?

重要编辑14.09.2016:如果我编辑主机文件并添加:

<server-ip-address> iisnode.local

然后我访问http://iisnode.local,它起作用了! 我不太清楚为什么。..我不希望网站的所有用户都修改其主机文件,我该怎么办?

我不知道这可能是问题的根源吗?

编辑:我的网站绑定看起来像这样:

在此处输入图片说明

当您使用以下命令访问服务器中的站点时

http://iisnode.local (按主机名)

与...相同

http://127.0.0.1/ (通过IP)

因此,当您使用IP地址时,不要在iisnode.local之后放置它。

iisnode.local是主机名,在URL中,您不能同时使用主机名或IP。

http://(服务器的IP)/iisnode.local

等于

http://(IP)/(主机名) <---错了!

目前,我假设您没有为服务器设置公共DNS,访问该站点的正确方法是

http://(外部IP)/ <-后没有iisnode.local。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM