Настройте ssl под Ubuntu Nginx для получения доступа по https

Ubuntu

предисловие

Поскольку я хочу написать апплет WeChat, чтобы запросить интерфейс на моем собственном сервере, я должен добавить свое доменное имя в белый список, и к нему должен быть доступ через https, поэтому мне нужно сделать это.
В то же время, поскольку я настроил проект Flask на сервере, подробныеРазверните Flask на Ubuntu 16.04, конфигурация nginx немного отличается от обычной.

Первый шаг – получение сертификата

Поскольку я использую сервер Tencent Cloud, я подал заявку на годовой бесплатный сертификат в Tencent Cloud.У других поставщиков облачных серверов также должны быть бесплатные сертификаты.OpenSSLНе подходит для этого урока.

Второй шаг — установка сертификата

Проще говоря, это перемещение сертификата, скачанного с Tencent Cloud и Alibaba Cloud, на сервер, я загружаю сертификат на сервер git, а затем на стороне сервера.git pullСпускайтесь, вы можете положить сертификат в любом месте

Третий шаг, настройка nginx

Файл конфигурации nginx по умолчанию:nginx.conf, из-за моего развернутого проекта Flask файл конфигурации отличается

sudo nano /etc/nginx/sites-available/myproject

Добавьте следующее

server {
    listen 80;
    server_name www.ymhd.xyz;
    location / {
        include uwsgi_params;
        uwsgi_pass unix:/home/ubuntu/myproject/myproject.sock;
    }
    # 下面是配置https内容
    listen 443;
    ssl on;
    ssl_certificate   /usr/local/ymhd/1_www.ymhd.xyz_bundle.crt;
    ssl_certificate_key  /usr/local/ymhd/2_www.ymhd.xyz.key;

    ssl_session_timeout  5m;

    ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4;
    ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
    ssl_prefer_server_ciphers on;
}

Особо следует отметить, что,ssl_certificateа такжеssl_certificate_keyСледующее содержимое является вашим сертификатом.crtа такжеkeyабсолютный путь к файлу

Наконец, перезагрузите

Перезапустите nginx, перезапустите службу

sudo systemctl restart nginx
sudo systemctl restart myproject