Трик #3: HTTPS с OSPI и Raspberry Pi

Начална страница Форуми Общо взето Трик #3: HTTPS с OSPI и Raspberry Pi

Hinweis: Beiträge im Forum sind nur für angemeldete Kunden mit mindestens einem Kauf möglich. Bitte melde dich mit dem Kundenkonto an, über das du bestellt hast.

Преглед на 4 публикации - 1 до 4 (от общо 4)
  • Author
    Публикации
  • #23346
    Admin
    Keymaster

    За да получите достъп до OSPi с HTTPS криптирани данни, имате нужда от HTTPS прокси, който криптира връзката.

    Един от начините да направите това е с Nginx.

    1. Инсталирайте Nginx:

    sudo apt-get актуализация
    sudo apt-get инсталирайте nginx

    2. Създайте SSL сертификат:

    cd /etc/nginx
    sudo openssl req -x509 -nodes -days 3650 -newkey rsa:2048 -keyout /etc/nginx/cert.key -out /etc/nginx/cert.crt

    3. Редактирайте конфигурацията:

    sudo nano /etc/nginx/sites-enabled/default

    Изтрийте всички редове и използвайте тази конфигурация. Може да се наложи да персонализирате двете цифри с „RASPI“ с името на вашия Raspberry Pi.

    сървър {
    слушам 80;
    връщане 301 https://$host$request_uri;
    }

    сървър {

    listen 443;
    server_name raspi;

    ssl_certificate /etc/nginx/cert.crt;
    ssl_certificate_key /etc/nginx/cert.key;

    ssl on;
    ssl_session_cache builtin:1000 shared:SSL:10m;
    ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
    ssl_ciphers HIGH:!aNULL:!eNULL:!EXPORT:!CAMELLIA:!DES:!MD5:!PSK:!RC4;
    ssl_prefer_server_ciphers on;

    # access_log /var/log/nginx/access.log;

    location / {

    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-Proto $scheme;

    # Fix the “It appears that your reverse proxy set up is broken” error.
    proxy_pass http://localhost:8080;
    proxy_read_timeout 90;

    proxy_redirect http://localhost:8080 https://raspi;
    }
    }

    4. Активирайте и рестартирайте Nginx:

    sudo systemctl enable nginx

    sudo service nginx restart

    5. Готово.

    Вече можете да осъществите достъп през браузър. Той пренасочва http заявките към https или можете да осъществите директен достъп през http

    Оригиналното ръководство идва оттук и беше адаптирано:

    https://www.digitalocean.com/community/tutorials/how-to-configure-nginx-with-ssl-as-a-reverse-proxy-for-jenkins

    Не забравяйте да промените пренасочването на портове (port forwarding) на вашия рутер към порт 443 на Raspi (т.е. напр. ако преди е било 3000 към raspi/80, променете на 3000 към raspi/443). В приложението OpenSprinkler се свържете с опцията “SSL”

    #23347
    Admin
    Keymaster

    С OpenSprinkler 3 това за съжаление не работи, тъй като за системата няма наличен SSL клиент. Въпреки това можете да използвате (допълнителен) Linux или Raspberry PI, за да пренасочите криптирането към OpenSprinkler 3. Просто заменете в двете “http://localhost:8080” – посочвания “localhost” с IP адреса на OpenSprinkler и “8080” с “80”.

     

    #23933
    nachtigall
    Participant

    Страхотен съвет, точно това търсех така или иначе. Благодаря. Исках допълнително още DynDNS и letsencrypt, но дали и как ще стане това, ще разбера сам. В крайна сметка това има повече общо с Raspberry, отколкото с OpenSprinkler…

    #24088
    Admin
    Keymaster

    Да, SSL сертификатът е такова нещо. Приложението не работи без валиден сертификат; работи само в уеб браузъра и то само ако потвърдите предупреждението за сертификат.

    Въпреки това все още има възможност за експортиране на сертификата и инсталирането му на смартфона. Името на домейна трябва да съответства на сертификата за общо име.

    Така че, ако напр. Например, ако сте кръстили вашия dyndns домейн sprinkler.dyndns.bla, тогава общото име трябва да е точно това. И точно така трябва да го използвате в приложението.

     

Преглед на 4 публикации - 1 до 4 (от общо 4)
  • Трябва да сте влезли, за да отговорите на тази тема.