Как включить полностью работающий HTTPS для .NET Core WebApp в Debian с помощью nginx? - PullRequest
0 голосов
/ 05 ноября 2018

Я бы хотел зашифровать трафик к моему веб-приложению через HTTPS, но я борюсь с ним в Debian

Конечно, на сайте Microsoft есть руководство: https://docs.microsoft.com/en-US/aspnet/core/security/enforcing-ssl?view=aspnetcore-2.1&tabs=visual-studio

но ... это не просто перенаправление?

This document shows how to:

Require HTTPS for all requests.
Redirect all HTTP requests to HTT

Как я могу создать эти файлы .pfx или все, что мне нужно, чтобы добавить HTTP в мое веб-приложение?

1 Ответ

0 голосов
/ 05 ноября 2018

Я рекомендую использовать nginx в качестве обратного прокси для вашего веб-приложения. В этом случае вам не нужно будет изменять код вашего приложения, вы сможете изменить настройки HTTPS без каких-либо изменений в веб-приложении. Шаги:

1) Настройте ваш сайт, например, он будет использовать порт 5000

2) Установите nginx и создайте базовую конфигурацию, подобную этой:

worker_processes 4;

events { worker_connections 1024; }

http {
    sendfile on;

    upstream app_servers {
        server web:5000;
    }

    server {
        server_name your_server_name_here.com;
        listen 80;

        location / {
            proxy_pass         http://app_servers;
            proxy_redirect     off;
            proxy_set_header   Host $host;
            proxy_set_header   X-Real-IP $remote_addr;
            proxy_set_header   X-Forwarded-For $proxy_add_x_forwarded_for;
            proxy_set_header   X-Forwarded-Host $server_name;
        }
    }
}

Подробнее о конфигурации здесь .

3) Используйте letsencrypt для получения бесплатных HTTPS сертификатов через certbot . Он выполнит всю работу по работе с сертификатами и автоматически изменит ваш nginx конфиг

Также предлагаю использовать Docker - это поможет вам лучше разделить код и прокси.

...