我正在尝试使用Apache作为反向代理将aspo.net核心MVC应用程序部署到linux服务器-centos-到目前为止,我一直在关注此链接
https://docs.microsoft.com/en-us/aspnet/core/host-and-deploy/linux-apache?view=aspnetcore-2.2
,我尝试在服务器上运行该应用程序以确保其正常运行,并说正在使用 port 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。 非常感谢。
答案 0 :(得分:0)
我相信问题是在apache配置中指定的端口,对于apache常规请求是相同的,我将其更改为90,对我来说很好用,以及答案@itminus表示要更改该行。 API opts.ListenAnyIP(9009);
用于侦听服务器中的任何默认端口。非常感谢。