Witam.
Próbuje wdrożyć na openhab 3 zarządzanie wieloma użytkownikami przez nginx. Doszedłem do punktu gdzie przez przeglądarkę mogę logować się różnymi loginami uzyskując dostęp do różnych sitemaps. Problem polega na tym że nie działa to w aplikacji na androida. Nie wiem gdzie umieścić plik filter.cgi? Link do orginalnego tematu:
Moja konfiguracja:
server { listen 80; server_name 192.168.1.99; return 301 https://$server_name$request_uri; } server { listen 443 ssl; server_name 192.168.1.99; add_header Set-Cookie X-OPENHAB-AUTH-HEADER=1; ssl_certificate /etc/letsencrypt/live/xxxxxxxxxx.xx/fullchain.pem; # managed by Certbot ssl_certificate_key /etc/letsencrypt/live/xxxxxxxxxx.xx/privkey.pem; # managed by Certbot include /etc/letsencrypt/options-ssl-nginx.conf; ssl_dhparam /etc/letsencrypt/ssl-dhparams.pem; access_log /var/log/nginx/oh_ssl.access.log; error_log /var/log/nginx/oh_ssl.error.log; auth_basic "Sitemap"; auth_basic_user_file /etc/nginx/ohpass; # Disable unwanted UIs location ~ /(habpanel|classicui|paperui|doc|habmin) { return 403; } # Redirect to expected UIs (need to do it in two steps to process auth_basic before the return 302 # authentified user is then used as the sitemap name location = / { try_files DUMMY @return302; } location @return302 { return 302 /basicui/app?sitemap=$remote_user; } # User management at sitemap level -> strip openhab json file through filter script (see below) location = /rest/sitemaps { proxy_set_header X-Forwarded-Host $http_host; proxy_pass http://127.0.0.1/cgi-bin/filter?user=$remote_user; } # Proxying the request to OpenHab location / { # Double test to limit access to the right UI and the right sitemap if ($uri = "/basicui/app") { set $test "${test}A"; } if ($arg_sitemap != $remote_user) { set $test "${test}B"; } if ($remote_user = "master") { set $test ""; } if ($test = AB) { return 403; } # Proxying the request proxy_pass http://localhost:8080/; proxy_set_header Host $http_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; proxy_set_header Authorization ""; proxy_http_version 1.1; #proxy_set_header Connection ""; client_max_body_size 10m; client_body_buffer_size 128k; proxy_connect_timeout 90; proxy_send_timeout 90; proxy_read_timeout 90; proxy_buffer_size 4k; proxy_buffers 4 32k; proxy_busy_buffers_size 64k; proxy_temp_file_write_size 64k; # OpenHab authentication (base64 of user:password) #proxy_set_header Authorization "Basic ZWxzYTpteWVsc2FwcHAK"; proxy_intercept_errors on; } }
Próbował ktoś już może ogarnąć ten temat. Ten z linku jest na OH2.
Pozdrawiam.