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

如何将apache配置为asp.net核心的反向代理,apache,asp.net-core,centos,web-deployment,kestrel-http-server,Apache,Asp.net Core,Centos,Web Deployment,Kestrel Http Server,我正在尝试将aspo.net核心MVC应用程序部署到linux服务器centos上,使用apache作为反向代理,到目前为止,我一直在关注这个链接 我试着在服务器上运行应用程序以确保它正常工作,它说端口5000正在使用中,所以我在程序.cs文件中用这段代码更改了端口 public static void Main(string[] args) { BuildWebHost(args).Run(); } public st

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

我试着在服务器上运行应用程序以确保它正常工作,它说端口5000正在使用中,所以我在程序.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();
它显示了这条信息

[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>

RequestHeader集合“X-Forwarded-Proto”expr=%{REQUEST_SCHEME}
代理主机
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公共
而且也不起作用。 *请注意*此apache服务器上运行多个域,因为它为这些域提供服务,并且它是通过域名配置的,我不知道这是否是问题所在,但我尝试了所有方法,但没有找到解决方案:D。
非常感谢。

我相信问题出在apache配置中指定的端口上,对于apache general request也是一样,我将其更改为90,对我来说效果很好,还有@itminus说的在API
opts.listenyip(9009)中更改该行的答案
侦听服务器中的任何默认端口。非常感谢。

我相信问题出在apache配置中指定的端口上,对于apache general request也是一样,我将其更改为90,对我来说效果很好,还有@itminus说的在API
opts.listenyip(9009)中更改该行的答案
侦听服务器中的任何默认端口。非常感谢。

1。您的
ping 127.0.0.1:9009将无法工作。使用
wgethttp://127.0.0.1:9009
来测试它。2.您启用了apache的代理模块了吗?3.有时它不适用于
127.0.0.1
,您可以尝试使用
opts.listenyip(9009)让红隼在
0.0.0
上收听,1。谢谢,我用这个试过了,效果很好,回复ok。我不知道如何启用此模块,但如果您需要知道apache正在处理其他应用程序,那么如果这是服务于应用程序必须做的事情,可能已经做了,但请告诉我如何做“但告诉我如何做”:请参见3。您希望我将apache???1的配置文件中的每个
127.0.0.1
更改为
0.0.0
。您的
ping 127.0.0.1:9009将无法工作。使用
wgethttp://127.0.0.1:9009
来测试它。2.您启用了apache的代理模块了吗?3.有时它不适用于
127.0.0.1
,您可以尝试使用
opts.listenyip(9009)让红隼在
0.0.0
上收听,1。谢谢,我用这个试过了,效果很好,回复ok。我不知道如何启用此模块,但如果您需要知道apache正在处理其他应用程序,那么如果这是服务于应用程序必须做的事情,可能已经做了,但请告诉我如何做“但告诉我如何做”:请参见3。您希望我将apache配置文件中的每个
127.0.0.1
更改为
0.0.0
???
<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>