【发布时间】:2020-01-07 22:10:49
【问题描述】:
我正在尝试将 aspo.net 核心 MVC 应用程序部署到 linux 服务器 - centos - 使用 apache 作为反向代理,到目前为止我一直关注这个链接
https://docs.microsoft.com/en-us/aspnet/core/host-and-deploy/linux-apache?view=aspnetcore-2.2
我尝试在服务器上运行应用程序以确保它正常工作,它说 端口 5000 正在使用中,所以我通过 中的这段代码更改了端口program.cs 文件...
public static void Main(string[] args)
{
BuildWebHost(args).Run();
}
public static IWebHost BuildWebHost(string[] args) =>
WebHost.CreateDefaultBuilder(args)
.UseStartup<Startup>()
.UseKestrel(options =>
{
options.Listen(IPAddress.Loopback, 9009);
})
.UseContentRoot(Directory.GetCurrentDirectory())
.Build();
它在服务器的 9009 端口上运行 但问题是我无法访问它。 我尝试通过 ip 地址访问 138.201.131.247:9009 并尝试通过域名http://medicalrecords.host:9009访问 即使我尝试使用
通过终端 ping 到它ping 127.0.0.1:9009
它显示这条消息
[root@server ~]# ping 127.0.0.1:9009
ping: 127.0.0.1:9009: Name or service not known
但没有任何效果 我尝试通过此代码将 apache 配置为反向代理
<VirtualHost *:*>
RequestHeader set "X-Forwarded-Proto" expr=%{REQUEST_SCHEME}
</VirtualHost>
<VirtualHost *:80>
ProxyPreserveHost On
ProxyPass / http://127.0.0.1:9009/
ProxyPassReverse / http://127.0.0.1:9009/
ServerName medicalrecords.host
ServerAlias medicalrecords.host
ErrorLog /var/log/apache2/testapp-error.log
CustomLog /var/log/apache2/testapp-access.log common
</VirtualHost>
而且也不工作。 * 请注意 * 在此 apache 服务器上运行多个域,因为它为它们提供服务,并且由域名配置,我不知道这是否是问题,但我尝试了所有方法,但没有解决方案:D。 非常感谢。
【问题讨论】:
-
1.您的
ping 127.0.0.1:9009不起作用。请改用wget http://127.0.0.1:9009对其进行测试。 2、你开启了apache的代理模块了吗? 3. 有时候127.0.0.1不行,可以尝试让红隼在0.0.0.0上监听opts.ListenAnyIP(9009);, -
1.谢谢,我用这个试过了,它的反应是好的。
-
2.我不知道如何启用此模块,但是如果您需要知道 apache 正在其他应用程序上运行,那么如果这是为应用程序提供服务的必须要做的事情,也许它已经完成了,但请告诉我该怎么做
-
“但是告诉我怎么做”:请看stackoverflow.com/questions/56779013/…
-
3.你想让我把每个
127.0.0.1改成0.0.0.0,即使是在apache的配置文件中???
标签: apache asp.net-core centos web-deployment kestrel-http-server