Рейтинг:0

Установка Apache SSL [не повторяется]

флаг ch

Я пытаюсь установить ssl-сертификат на свой сервер Ubuntu 20.04.

Я скачал ssl-файлы и поместил их в /home/ubuntu (будет изменено, как только заработает):

  • api_limitlesssoft_com_key.txt
  • api.limitlesssoft.com.p7b
  • api.limitlesssoft.com.crt
  • api.limitlesssoft.com.ca-пакет

Теперь я отредактировал файл виртуального хоста, чтобы он выглядел так:

Модули LoadModule ssl_module/mod_ssl.so
Модули LoadModule proxy_module/mod_proxy.so
LoadModule proxy_http_module modules/mod_proxy_http.so

<Виртуальный хост *:80>
        Имя сервера api.limitlesssoft.com
        Администратор сервера [email protected]

        ProxyPreserveHost включен
        ПроксиПасс / http://127.0.0.1:5000/
        ПроксиПассРеверс / http://127.0.0.1:5000/

        Журнал ошибок ${APACHE_LOG_DIR}/error.log
        CustomLog ${APACHE_LOG_DIR}/access.log вместе
</ виртуальный хост>

<Виртуальный хост *:443>
        Имя сервера api.limitlesssoft.com
        Администратор сервера [email protected]

        ProxyPreserveHost включен
        ПроксиПасс / http://127.0.0.1:5000/
        ПроксиПассРеверс / http://127.0.0.1:5000/

        Журнал ошибок ${APACHE_LOG_DIR}/error.log
        CustomLog ${APACHE_LOG_DIR}/access.log вместе

        SSLEngine включен
        SSLCertificateFile /home/ubuntu/api.limitlesssoft.com.crt
        SSLCertificateKeyFile /home/ubuntu/api_limitlesssoft_com_key.txt
        SSLCertificateChainFile /home/ubuntu/api.limitlesssoft.com.ca-bundle
</ виртуальный хост>

и только почему-то http один работает.

a2enmod ssl возвращает, что он уже запущен я побежал судо ufw 443 и он включен

ubuntu@ubuntu:/var/log/apache2$ телнет локальный хост 443
Пытаюсь 127.0.0.1...
Подключен к локальному хосту.
Экранирующий символ '^]'.
ubuntu@ubuntu:/var/log/apache2$ sudo netstat -peanut | грэп ':80'
tcp6 0 0 :::80 :::* ПРОСЛУШАТЬ 0 46821 3493/apache2   
ubuntu@ubuntu:/var/log/apache2$ sudo netstat -peanut | грэп ':443'
tcp6 0 0 :::443 :::* ПРОСЛУШАТЬ 0 46825 3493/apache2   
TCP6 0 0 127.0.0.1:443 127.0.0.1:45968 TIME_WAIT 0 0 -  

ubuntu@ubuntu:/var/log/apache2$ netstat -a -n
Активные интернет-соединения (серверы и установленные)
Proto Recv-Q Send-Q Локальный адрес Внешний адрес Состояние
TCP 0 0 127.0.0.1:5000 0.0.0.0:* ПРОСЛУШИВАТЬ
TCP 0 0 127.0.0.53:53 0.0.0.0:* ПРОСЛУШИВАТЬ
TCP 0 0 0.0.0.0:22 0.0.0.0:* ПРОСЛУШИВАТЬ
TCP 1 0 127.0.0.1:41170 127.0.0.1:5000 CLOSE_WAIT
TCP 0 192 192.168.1.109:22 192.168.1.2:61495 УСТАНОВЛЕН
tcp6 0 0 ::1:5000 :::* ПРОСЛУШАТЬ
tcp6 0 0 :::80 :::* СЛУШАТЬ
tcp6 0 0 :::21 :::* ПРОСЛУШАТЬ
tcp6 0 0 :::22 :::* СЛУШАТЬ
tcp6 0 0 :::443 :::* ПРОСЛУШАТЬ
удп 0 0 127.0.0.53:53 0.0.0.0:*
удп 0 0 192.168.1.109:68 0.0.0.0:*
raw6 0 0 :::58 :::* 7

ubuntu@ubuntu:~$ статус sudo ufw
Статус: активен

К действию от
-- ------ ----
33380 РАЗРЕШИТЬ ВСЕГДА
443 РАЗРЕШИТЬ ВСЕГДА
22 РАЗРЕШИТЬ ВСЕГДА
80 РАЗРЕШИТЬ ВСЕГДА
33380 (v6) РАЗРЕШИТЬ везде (v6)
443 (v6) РАЗРЕШИТЬ ВСЕГДА (v6)
22 (v6) РАЗРЕШИТЬ ВСЕГДА (v6)
80 (v6) РАЗРЕШИТЬ ВСЕГДА (v6)

А вот мой запуск приложения (при отладке работает по https)

с помощью Microsoft.AspNetCore.Builder;
с помощью Microsoft.AspNetCore.Hosting;
используя Microsoft.AspNetCore.Http;
с помощью Microsoft.AspNetCore.HttpOverrides;
с помощью Microsoft.Extensions.DependencyInjection;
с помощью Microsoft.Extensions.Hosting;
с помощью системы;
используя System.Collections.Generic;
с помощью System.Linq;
использование System.Threading.Tasks;

пространство имен api.limitlesssoft.com
{
    публичный класс
    {
        // Этот метод вызывается средой выполнения. Используйте этот метод для добавления служб в контейнер.
        // Дополнительные сведения о настройке приложения см. на странице https://go.microsoft.com/fwlink/?LinkID=398940.
        public void ConfigureServices (службы IServiceCollection)
        {
            services.AddControllers();
            services.Configure<ForwardedHeadersOptions>(options =>
            {
                options.ForwardedHeaders =
                    ForwardedHeaders.XForwardedFor | ForwardedHeaders.XForwardedProto;
            });
        }

        // Этот метод вызывается средой выполнения. Используйте этот метод для настройки конвейера HTTP-запросов.
        public void Configure (приложение IApplicationBuilder, среда IWebHostEnvironment)
        {
            если (env.IsDevelopment())
            {
                app.UseDeveloperExceptionPage();
            }

            приложение.UseForwardedHeaders();

            app.UseHttpsRedirection();

            приложение.UseStaticFiles();

            приложение.UseRouting();

            app.UseEndpoints (конечные точки =>
            {
                конечные точки.MapControllers();
            });
        }
    }
}
Michael Hampton avatar
флаг cz
api.limitlesssoft.com просто отключается на порту 443. Однако он работает на порту 80. Вы проверили свой брандмауэр?
Aleksa Ristic avatar
флаг ch
@MichaelHampton Что ты имеешь в виду?
Aleksa Ristic avatar
флаг ch
Я добавил результаты `netstat -a -n`, и, как я вижу, есть порт 443.
Aleksa Ristic avatar
флаг ch
Кстати `ufw` отключен
Aleksa Ristic avatar
флаг ch
Я также включил ufw и все еще не работает (см. вывод в отредактированном вопросе)
Рейтинг:0
флаг ch

Нашел решение в Соединение отклонено HTTPS на Apache и он помечен как -1 пункты.... проблема была в маршрутизации... перенаправление портов не переадресовывало порт 443, только 80. Поэтому не работало.

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

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