Как развернуть ядро ​​asp.net 2.2 на Linux-сервере Linux с прокси-сервером Revese - PullRequest
0 голосов
/ 20 мая 2019

Здравствуйте. Я пытаюсь развернуть приложение asp.net core 2.2 на компьютере с Linux, используя сервер Apache и обратный прокси-сервер, но у меня возникают проблемы с просмотром моего веб-приложения. Я вижу это:

enter image description here

Я покажу вам все настройки, которые я сделал

После этого учебника Microsoft: https://docs.microsoft.com/es-es/aspnet/core/host-and-deploy/linux-apache?view=aspnetcore-2.2

Сначала я настроил свой код Startup.cs так:

    // This method gets called by the runtime. Use this method to configure the HTTP request pipeline.
    public void Configure(IApplicationBuilder app, IHostingEnvironment env)
    {
        if (env.IsDevelopment())
        {
            app.UseDeveloperExceptionPage();
            app.UseDatabaseErrorPage();
        }
        else
        {
            app.UseExceptionHandler("/Home/Error");
            // The default HSTS value is 30 days. You may want to change this for production scenarios, see https://aka.ms/aspnetcore-hsts.
            app.UseHsts();
        }

        //app.UseHttpsRedirection();
        app.UseStaticFiles();
        app.UseCookiePolicy();

        app.UseForwardedHeaders(new ForwardedHeadersOptions
        {
            ForwardedHeaders = ForwardedHeaders.XForwardedFor | ForwardedHeaders.XForwardedProto
        });

        app.UseAuthentication();

        app.UseMvc(routes =>
        {
            routes.MapRoute(
                name: "default",
                template: "{controller=Home}/{action=Index}/{id?}");
        });
    }

И запустите Setting.json так:

{
  "iisSettings": {
    "windowsAuthentication": false,
    "anonymousAuthentication": true,
    "iisExpress": {
      "applicationUrl": "http://localhost:63992",
      "sslPort": 44365
    }
  },
  "profiles": {
    "IIS Express": {
      "commandName": "IISExpress",
      "launchBrowser": true,
      "environmentVariables": {
        "ASPNETCORE_ENVIRONMENT": "Development"
      }
    },
    "ElectransCloudServices": {
      "commandName": "Project",
      "launchBrowser": true,
      "environmentVariables": {
        "ASPNETCORE_ENVIRONMENT": "Development"
      },
      "applicationUrl": "http://localhost:5000"
    },
    "Docker": {
      "commandName": "Docker",
      "launchBrowser": true,
      "launchUrl": "{Scheme}://{ServiceHost}:{ServicePort}"
    }
  }
}

Затем я скомпилировал свой проект и переехал на свой Linux-компьютер, выполнив команду dotnet publish --configuration Release -o / var / www / ElectransCloudServices, чтобы развернуть мой проект в правильном каталоге для настройки Apache.

Эта часть является конфигурацией проекта. Теперь я покажу вам конфигурацию моего сервера:

Я создал файл конфигурации с именем electransapp.conf в / etc / apache2 / sites-enabled / со следующим сценарием:

<VirtualHost *:*>
    RequestHeader set "X-Forwarded-Proto" expr=%{REQUEST_SCHEME}
</VirtualHost>

<VirtualHost *:8080>
    ProxyPreserveHost On
    ProxyPass / http://127.0.0.1:5000/
    ProxyPassReverse / http://127.0.0.1:5000/
    DocumentRoot /var/www/ElectransCloudServices
    ServerName localhost
    # ServerAlias *.example.com
    ErrorLog ${APACHE_LOG_DIR}helloapp-error.log
    CustomLog ${APACHE_LOG_DIR}helloapp-access.log common
</VirtualHost>

Я использую порт 8080.

Затем я изменил файл /etc/apache2/apache2.conf со следующими параметрами:

<Directory /var/www/ElectransCloudServices>
    Options Indexes FollowSymLinks
    AllowOverride None
    Require all granted
</Directory>

ServerName localhost

И наконец я запускаю команду systemctl restart apache2

После всего этого я вижу первое изображение, которое я вам показал. Я уверен, что ошибка в конфигурации Apache, но я не знаю, что я делаю неправильно. Любая помощь?

Заранее спасибо

...