gpt4 book ai didi

c# - 在 CentOS/Linux 上正确配置 dotnet (ASP.NET Core 2.1) 环境

转载 作者:塔克拉玛干 更新时间:2023-11-03 01:15:05 25 4
gpt4 key购买 nike

我被困住了,我真的希望有人能提供帮助或至少为我指明正确的方向。我的最终目标是让我的 ASP.NET Core 2.1 应用程序在 CentOS Linux 机器上运行。由于我在我的实际应用程序中使用了 mongo 数据库并希望消除任何可能的问题,我发布了一个简单的 jane asp.net core 2.1 mvc 应用程序,没有身份验证,并将它部署到我的 centos 7 上的虚拟主机box(apache 通过 CoreIT 升级到 2.4.37,因为 centos 发行版仍然部署旧的 2.4.6 版本)。

对于这个问题的范围,我认为我只需要确保我的反向代理正常工作并且需要帮助来确定它。我已按照 here 中的说明进行操作和 here 中的 Microsoft 安装文档.这 2 个链接是我一直在使用的主要内容。

当我的应用程序服务正在运行时,我可以执行 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>

最佳答案

我想我已经解决了这个问题,尽管我不确定在发布时我实际遇到了什么问题。我最终通过消除和 curl 过程发现另一个服务正在运行并在另一个虚拟主机中使用端口 5000 - 我们正在进行开发并且需要一组测试,暂存和生产虚拟主机。我还发现我的应用程序 (UseUrls) 中有一些代码专门声明使用端口 5000,因此同一环境中的多个副本会发生资源冲突。我会回来更新哪些环境将使用哪些端口,并希望有一个很好的设置。

关于c# - 在 CentOS/Linux 上正确配置 dotnet (ASP.NET Core 2.1) 环境,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53582416/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com