通过互联网访问在Ubuntu 16.04上托管的.net核心网站

时间:2017-12-18 02:39:04

标签: linux .net-core cross-platform ubuntu-16.04 asp.net-core-2.0

我跟随this tutorial将我的asp.net应用程序部署到Ubuntu上。我使用this帖子在我的Ubuntu机器上安装了.Net core 2.0。这篇优秀的文章没有问题。

我的VM配置是:

 user@instance-2:~/dev/mywebsite$ lsb_release -a
    No LSB modules are available.
    Distributor ID: Ubuntu
    Description:    Ubuntu 16.04.3 LTS
    Release:        16.04
    Codename:       xenial

我已确认.Net核心安装正确。

user@instance-2:~/dev/mywebsite$ dotnet --info
.NET Command Line Tools (2.0.0)
Product Information:
 Version:            2.0.0
 Commit SHA-1 hash:  cdcd1928c9
Runtime Environment:
 OS Name:     ubuntu
 OS Version:  16.04
 OS Platform: Linux
 RID:         ubuntu.16.04-x64
 Base Path:   /usr/share/dotnet/sdk/2.0.0/
Microsoft .NET Core Shared Framework Host
  Version  : 2.0.0
  Build    : e8b8861ac7faf042c87a5c2f9f2d04c98b69f28d

接下来,我使用以下命令

创建了新的dot net web应用程序
dotnet new web

设置ASPNETCORE_URLS环境变量

export ASPNETCORE_URLS=http://+:5123

确认其设置正确。

user@instance-2:~/dev/mywebsite$ echo $ASPNETCORE_URLS
http://+:5123

使用dotnet run来运行我的应用程序。可以在控制台上看到以下消息。

user@instance-2:~/dev/mywebsite$ dotnet run
Hosting environment: Production
Content root path: /home/hemant_shelar/dev/mywebsite
Now listening on: http://[::]:5123
Application started. Press Ctrl+C to shut down.

预计:我应该可以使用IP地址从互联网浏览此网站 像:http://35.185.21.120:5123/但我无法从外部访问此网站。导致ERR_CONNECTION_TIMED_OUT错误。

注意:35.185.21.120是我在谷歌云中的Ubuntu机器的IP地址。

我错过了任何配置吗?

更新1: 我使用下面的命令

打开端口5123
sudo ufw enable

sudo ufw allow 5123

已验证使用以下命令打开端口:

hemant_shelar@instance-2:~/dev/mywebsite$ sudo ufw status
Status: active
To                         Action      From
--                         ------      ----
5123                       ALLOW       Anywhere                  
5123 (v6)                  ALLOW       Anywhere (v6)       

但仍然是同样的问题。

更新2 我将环境变量ASPNETCORE_URLS设置为http://+:80

hemant_shelar@instance-2:~/dev/mywebsite$ echo $ASPNETCORE_URLS
http://+:80
hemant_shelar@instance-2:~/dev/mywebsite$ sudo dotnet run
Hosting environment: Production
Content root path: /home/hemant_shelar/dev/mywebsite
Now listening on: http://localhost:5000
Application started. Press Ctrl+C to shut down.

但是当我在网站5000上运行网站列表时。有没有其他方法可以在端口80上公开网站?例如在IIS中,我们使用http主机头在端口80上打开多个站点。

0 个答案:

没有答案
相关问题