Правильная настройка среды dotnet (ASP.NET Core 2.1) в CentOS / Linux - PullRequest
0 голосов
/ 02 декабря 2018

Я застрял, я действительно надеюсь, что кто-то может помочь или, по крайней мере, направить меня в правильном направлении.Моя конечная цель - запустить приложение ASP.NET Core 2.1 на базе CentOS Linux.Поскольку я использую базу данных mongo в своем реальном приложении и хотела устранить любые возможные проблемы с этим, я опубликовал приложение mvc plain-jane asp.net core 2.1 без аутентификации и развернул его на виртуальном хосте на моем centos 7box (apache обновлен через CoreIT до 2.4.37, поскольку дистрибутивы centos по-прежнему используют более старую версию 2.4.6).

Для решения этого вопроса я думаю, что мне просто нужно убедиться, что мой обратный прокси-сервер работает правильно инужна помощь в закреплении этого.Я следовал инструкциям здесь и документу установки Microsoft от здесь .С этими двумя ссылками я в основном работаю.

Когда моя служба приложений работает, я могу сделать curl localhost: 5000 и увидеть верный HTML-код моей домашней страницы.Когда я пытаюсь из командной строки снова с test.mydomain.com или test.mydomain.com:5000 это просто тайм-аут.Если я захожу в conf моего приложения (test.mydomain.com.conf в / etc / httpd / sites-available) и удаляю строки 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>

1 Ответ

0 голосов
/ 03 декабря 2018

Я думаю, что я решил проблему, хотя я не уверен, какие проблемы у меня действительно были во время публикации.Я закончил процесс исключения и скручивания и обнаружил, что другая служба работает и использует порт 5000 на другом виртуальном хосте - мы занимаемся разработкой и нам нужен тестовый, промежуточный и производственный набор виртуальных хостов.Кроме того, я обнаружил, что в моем приложении есть некоторый код (UseUrls), в котором специально указывается использование порта 5000, поэтому при его копировании в несколько копий в одной среде.Я перейду назад и уточню, какие среды будут использовать какие порты, и, надеюсь, у них будет хорошая настройка.

...