【发布时间】:2018-12-02 16:46:05
【问题描述】:
我被困住了,我真的希望有人可以帮助或至少为我指明正确的方向。我的最终目标是让我的 ASP.NET Core 2.1 应用程序在 CentOS Linux 机器上运行。由于我在我的实际应用程序中使用 mongo db 并希望消除任何可能的问题,我发布了一个纯 jane asp.net core 2.1 mvc 应用程序,没有身份验证,并将其部署到我的 centos 7 上的虚拟主机box(apache 通过 CoreIT 升级到 2.4.37,因为 centos 发行版仍然部署旧的 2.4.6 版本)。
对于这个问题的范围,我想我只需要确保我的反向代理工作正常,并且需要帮助来确定这一点。我已按照here 的说明和here 的 Microsoft 设置文档进行操作。这两个链接是我主要使用的。
当我的应用服务运行时,我可以执行 curl localhost:5000 并查看返回的主页的正确 html。当我再次从命令行尝试使用 test.mydomain.com 或 test.mydomain.com:5000 时,它就会超时。如果我转到我的应用程序的 conf(/etc/httpd/sites-available 中的 test.mydomain.com.conf)并删除 ProxyPass、ProxyPassReverse 和 ProxyPreserveHost 行,那么我可以使用浏览器从外部点击 test.mydomain.com,然后获取我的 index.html 文件并正确显示(这只是一个 index.html 文件,而不是 dotnet 应用程序的一部分)。只有当我将以下内容添加回我的 conf 文件时,它才会在我尝试点击 URL 时挂起。我不确定要在 journalctl 中查找什么,或者我应该跟踪一个特定的日志文件以找出它在等待什么以及为什么要花这么长时间。
ProxyPreserveHost On
ProxyPass / http://127.0.0.1:5000/
ProxyPassReverse / http://127.0.0.1:5000/
不知何故,我的反向代理似乎没有设置为从框外访问。
我的应用程序的其余配置如下。
<VirtualHost *:*>
RequestHeader set "X-Forwarded-Proto" expr=%{REQUEST_SCHEME}</VirtualHost>
<VirtualHost *:80>
ServerName test.mydomain.com
DocumentRoot /var/www/test.mydomain.com/public_html
ErrorLog logs/dashboard.crtv1.com.errorlog
CustomLog logs/dashboard.crtv1.com.access_log combined
</VirtualHost>
【问题讨论】:
标签: c# linux apache asp.net-core centos7