Здравствуйте. Я пытаюсь развернуть приложение asp.net core 2.2 на компьютере с Linux, используя сервер Apache и обратный прокси-сервер, но у меня возникают проблемы с просмотром моего веб-приложения. Я вижу это:
Я покажу вам все настройки, которые я сделал
После этого учебника 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, но я не знаю, что я делаю неправильно.
Любая помощь?
Заранее спасибо