如何将 apache 配置为 asp.net 核心的反向代理

How to configure apache as a reverse proxy for asp.net core

我正在尝试将 aspo.net 核心 MVC 应用程序部署到 linux 服务器 - centos - 使用 apache 作为反向代理,到目前为止我一直在关注这个 link

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 服务器上有多个域 运行ning,因为它为它们提供服务并通过域名配置,我不知道这是问题所在还是不是,但我尝试了一切,但没有解决方案:D。 非常感谢。

我相信问题出在 apache 配置中指定的端口,它与 apache 一般请求相同,我将其更改为 90,它对我来说工作正常,连同@itminus 的回答说要更改该行在 API opts.ListenAnyIP(9009); 中监听服务器中的任何默认端口。非常感谢。