Рейтинг:1

Ubuntu 20.04 Перенаправить HTTP на HTTPS

флаг ua

Raspberry PI под управлением Ubuntu 20.04, на котором размещено веб-приложение dotnet 6 (ядро). DotNet по умолчанию прослушивает порт 5000 (HTTP) и порт 5001 (HTTPS). Я могу заставить работать http://mydomain, но НЕ МОГУ заставить работать HTTPS. Мой файл Program.cs настроен на ИспользованиеHttpsRedirection (который работает на локальном хосте)

Запись: я разработал веб-приложение на своем локальном компьютере, опубликовал и развернул веб-приложение в Ubuntu (Raspberry PI). Вот мой файл конфигурации

<VirtualHost *:80>
   ServerName me.com
   ServerAdmin [email protected]
   Redirect "/" https://me.com
   ErrorLog ${APACHE_LOG_DIR}/error-me.com-ssl.log
   CustomLog ${APACHE_LOG_DIR}/access-me.com-ssl.log combined
</VirtualHost>

<VirtualHost *:443>
   ServerName me.com
   DocumentRoot /var/www/me.com
   ProxyPreserveHost On
   ProxyPass / https://127.0.0.1:5001/
   ProxyPassReverse / https://127.0.0.1:5001/
   SSLEngine on
   SSLCertificateFile "/etc/ssl/certs/server.me.com.crt"
   SSLCertificateKeyFile "/etc/ssl/private/server.me.com.key"
</VirtualHost>
guiverc avatar
флаг cn
Если вы спрашиваете об Ubuntu 20.04, почему вы пометили свой вопрос как относящийся к Ubuntu 12.04? Пожалуйста исправьте.
флаг it
Что не работает? Перенаправление, или SSL полностью? Какие URL/порты вы пытаетесь? Какие ошибки вы получаете?
DavidJS avatar
флаг ua
Если я использую VirtualHost *:80 и использую ProxyPass/http://127.0.0.1:5000, то это работает, потому что приложение прослушивает порт 5000. Затем я включил HTTPSRedirect и изменил VirtualHost 80 на перенаправление на VirtualHost 443. Когда я иду чтобы ввести общедоступный домен / IP-адрес, браузер просто показывает «Этот сайт недоступен»
pa4080 avatar
флаг cn
Что произойдет, если вы используете порт 5000 с той же нефигурацией?
DavidJS avatar
флаг ua
@ pa4080 - Что ты имеешь в виду? Я пытался использовать http://127.0.0.1:5000 на и все равно получаю "Этот сайт недоступен"
DavidJS avatar
флаг ua
Я отключил app.UseHttpsRedirection() из Program.cs, опубликовал/развернул, а затем получил доступ к своему URL-адресу с помощью HTTP.Затем я зашел на сайт по HTTPS и снова "Этот сайт недоступен". Так может SSL настроен неправильно?? Я создал самозаверяющий сертификат с помощью команды: sudo openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout /etc/ssl/private/server.yourdomain.com.key -out /etc/ssl/certs/ server.yourdomain.com.crt
DavidJS avatar
флаг ua
Я получаю эту ошибку, когда делаю CURL https://localhost:5001, (60) Проблема с SSL-сертификатом: невозможно получить сертификат локального эмитента Подробнее здесь: https://curl.haxx.se/docs/sslcerts.html curl не смог проверить легитимность сервера и поэтому не смог установить к нему безопасное соединение
Nmath avatar
флаг ng
Похоже, вы используете файл виртуального хоста для apache2. Он установлен и настроен? У вас есть SSL-сертификат и пути указаны правильно?
pa4080 avatar
флаг cn
Привет, @DavidJS, прежде всего вам нужно убедиться, что ваш виртуальный хост HTTPS работает правильно. Создайте каталог DocumentRoot с простым файлом index.html внутри... и проверьте эти ответы: https://askubuntu.com/a/893406/566421 и https://askubuntu.com/a/900433/566421. И страница инструкций Cerbot: https://certbot.eff.org/instructions?ws=apache&os=ubuntufocal
DavidJS avatar
флаг ua
@Nmath - я использую виртуальный хост, и я подтвердил, что он прослушивает порты 80 и 443. У меня есть только самозаверяющий сертификат, который я создал с помощью openssl, и я подтвердил пути. Я попробую LetsEncrypt и посмотрю, будет ли это иметь значение.

Ответить или комментировать

Большинство людей не понимают, что склонность к познанию нового открывает путь к обучению и улучшает межличностные связи. В исследованиях Элисон, например, хотя люди могли точно вспомнить, сколько вопросов было задано в их разговорах, они не чувствовали интуитивно связи между вопросами и симпатиями. В четырех исследованиях, в которых участники сами участвовали в разговорах или читали стенограммы чужих разговоров, люди, как правило, не осознавали, что задаваемый вопрос повлияет — или повлиял — на уровень дружбы между собеседниками.