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

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

Преглед на 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;
    }

    сървър {

    слушай 443;
    име_на_сървър raspi;

    ssl_сертификат /etc/nginx/cert.crt;
    ssl_certificate_key /etc/nginx/cert.key;

    включен ssl;
    ssl_session_cache вграден:1000 споделен: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;

    местоположение / {

    proxy_set_header Хост $хост;
    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 aktivieren und neu starten:

    sudo systemctl enable nginx

    sudo service nginx restart

    5. Fertig.

    Sie können nun per Browser zugreifen. Er leitet http auf https anfragen um oder Sie greifen direkt per http darauf zu

    Das Original der Anleitung stammt von hier und wurde angepasst:

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

    Vergessen Sie nicht, die Portfreigabe ihres Routers auf den Raspi-Port 443 zu ändern (also z.b. vorher 3000 nach raspi/80 ändern in 3000 nach raspi/443). In der OpenSprinkler-App verbinden Sie sich dann mit der Option “SSL”

    #23347
    Admin
    Keymaster

    Mit dem OpenSprinkler 3 geht das leider nicht, da für das System kein SSL Client verfügbar ist. Allerdings können Sie einen (Zusätzlichen) Linux- oder Raspberry PI verwenden, um auf den OpenSprinkler 3 die Verschlüsselung umzuleiten. Ersetzen Sie einfach in den beiden “http://localhost:8080” – Angaben das “localhost” durch die Ip-adresse des OpenSprinklers und “8080” mit “80”.

     

    #23933
    nachtigall
    Participant

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

    #24088
    Admin
    Keymaster

    Ja, das mit dem SSL Zertifikat ist so eine Sache. Ohne ein gültiges Zertifikat geht auch die Applikation nicht, es geht nur im Webbrowser und dann auch nur, wenn man die Zertifikatswarnung bestätigt.

    Es gibt allerdings noch die Möglichkeit, das Zertifikat zu exportieren und auf dem Smartphone zu installieren. Der Domänenname muss dem Zertifikat Common Name übereinstimmen.

    Also wenn man z. B. seine dyndns Domäne sprinkler.dyndns.bla genannt hat, dann muss der Common Name genau so heißen. Und genau so muss man diese dann auch in der app verwenden.

     

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