Um sicher zu gehen...
smarthome host: /
smarthome port: 443 ohne den Text??
smarthome path: /usr/local/
smarthome auth: muss hier das hin, was in htpasswd.alexa steht?
Ankündigung
Einklappen
Keine Ankündigung bisher.
Amazon Alexa Plugin
Einklappen
X
-
Der Pfad sollte in deinem Fall / sein.
Und sollte der Discovery in der App dann nicht gehen versuche mal den kompletten Abschnitt #Sitemap in der Config des nginx auszukommentieren, nicht aber den #Alexa abschnitt und nicht vergessen nginx neustarten danach.
Einen Kommentar schreiben:
-
Ok, in der AWS Lambda weiß ich aber nicht so recht, welche Pfade wo hin gehören.
So werden keine Geräte gefunden.Code:/* You need to specify the following environmental variables in the lambda function: - SMARTHOME_HOST http://xyz.spdns.eu - SMARTHOME_PORT 443 - endpoint must be https enabled! - SMARTHOME_PATH '/usr/local/' - SMARTHOME_AUTH 'user:password' */
Und der Log
Code:{ "errorMessage": "connect ECONNREFUSED 127.0.0.1:443", "errorType": "Error", "stackTrace": [ "Object.exports._errnoException (util.js:870:11)", "exports._exceptionWithHostPort (util.js:893:20)", "TCPConnectWrap.afterConnect [as oncomplete] (net.js:1062:14)" ] }Zuletzt geändert von Max2612; 21.09.2017, 10:30.
Einen Kommentar schreiben:
-
PERFEKT! Das 501 willst du sehen. Das kommt weil du keine JSON Anfrage liefern kannst. Das tut aber deine Alexa, wenn du ihr was sagst. Suche mal in deiner Alexa App jetzt nach Devices.
Einen Kommentar schreiben:
-
Beim Aufruf von xyz.spdns.eu kommt eine Authentifizierung.
Nach Eingabe der Daten aus htpasswd kommt wieder eine Authentifizierung.
Nach Eingabe der Daten aus htpasswd.alexa kommt "Error response. Error Code 501"
Das passiert mit dieser config
Code:# SSL-Redirect & LetsEncrypt Endpoint server { listen 80 default_server; # redirect every requested $host (any, even invalid ones) to its SSL URL location / { return 301 https://$host$request_uri; } # LetsEncrypt Endpoint location /.well-known { alias /var/www/html/.well-known; } } # Sitemap server { listen 443 ssl default_server; access_log /var/log/nginx/sitemap.log combined; auth_basic "smartvisu36.spdns.eu"; auth_basic_user_file /etc/nginx/htpasswd; include /etc/nginx/include.d/common; add_header Strict-Transport-Security "max-age=31536000; includeSubDomains" always; location / { root /var/www/html/sitemap; index index.html; } } # Alexa server { listen 443 ssl; server_name smartvisu36.spdns.eu; access_log /var/log/nginx/alexa.log combined; auth_basic "Alexa"; auth_basic_user_file /etc/nginx/htpasswd.alexa; include /etc/nginx/include.d/common; location / { proxy_pass http://192.168.1.13:9000/; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; } }
Einen Kommentar schreiben:
-
Und funktioniert der https Zugriff jetzt und wird in der Auth auch der Name Alexa angegeben oder nicht?
Einen Kommentar schreiben:
-
Ja, es war noch auskommentiert.
Code:[smarthome@SmartHomeNG ~]$ sudo dpkg -l | grep php ii libapache2-mod-php7.0 7.0.19-1 armhf server-side, HTML-embedded scripting language (Apache 2 module) ii libawl-php 0.57-1 all Andrew's Web Libraries - PHP Utility Libraries ii php-common 1:49 all Common files for PHP packages ii php-curl 1:7.0+49 all CURL module for PHP [default] ii php-mbstring 1:7.0+49 all MBSTRING module for PHP [default] ii php7.0 7.0.19-1 all server-side, HTML-embedded scripting language (metapackage) ii php7.0-cli 7.0.19-1 armhf command-line interpreter for the PHP scripting language ii php7.0-common 7.0.19-1 armhf documentation, examples and common module for PHP ii php7.0-curl 7.0.19-1 armhf CURL module for PHP ii php7.0-json 7.0.19-1 armhf JSON module for PHP ii php7.0-mbstring 7.0.19-1 armhf MBSTRING module for PHP ii php7.0-opcache 7.0.19-1 armhf Zend OpCache module for PHP ii php7.0-readline 7.0.19-1 armhf readline module for PHP ii php7.0-xml 7.0.19-1 armhf DOM, SimpleXML, WDDX, XML, and XSL module for PHP
Code:[smarthome@SmartHomeNG ~]$ sudo netstat -tulpen Aktive Internetverbindungen (Nur Server) Proto Recv-Q Send-Q Local Address Foreign Address State Benutzer Inode PID/Program name tcp 0 0 0.0.0.0:9000 0.0.0.0:* LISTEN 1001 11051 477/python3 tcp 0 0 0.0.0.0:139 0.0.0.0:* LISTEN 0 10888 470/smbd tcp 0 0 0.0.0.0:111 0.0.0.0:* LISTEN 0 7154 206/rpcbind tcp 0 0 0.0.0.0:80 0.0.0.0:* LISTEN 0 49100 7201/nginx: master tcp 0 0 0.0.0.0:2323 0.0.0.0:* LISTEN 1001 11061 477/python3 tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 0 10178 419/sshd tcp 0 0 0.0.0.0:2424 0.0.0.0:* LISTEN 1001 11060 477/python3 tcp 0 0 0.0.0.0:443 0.0.0.0:* LISTEN 0 49101 7201/nginx: master tcp 0 0 0.0.0.0:445 0.0.0.0:* LISTEN 0 10887 470/smbd tcp 0 0 192.168.1.13:8383 0.0.0.0:* LISTEN 1001 11055 477/python3 tcp6 0 0 :::139 :::* LISTEN 0 10886 470/smbd tcp6 0 0 :::111 :::* LISTEN 0 7161 206/rpcbind tcp6 0 0 :::22 :::* LISTEN 0 10180 419/sshd tcp6 0 0 :::445 :::* LISTEN 0 10885 470/smbd tcp6 0 0 :::6720 :::* LISTEN 0 7345 1/init udp 0 0 192.168.1.255:137 0.0.0.0:* 0 10476 445/nmbd udp 0 0 192.168.1.13:137 0.0.0.0:* 0 10475 445/nmbd udp 0 0 0.0.0.0:137 0.0.0.0:* 0 10465 445/nmbd udp 0 0 192.168.1.255:138 0.0.0.0:* 0 10478 445/nmbd udp 0 0 192.168.1.13:138 0.0.0.0:* 0 10477 445/nmbd udp 0 0 0.0.0.0:138 0.0.0.0:* 0 10466 445/nmbd udp 0 0 0.0.0.0:36263 0.0.0.0:* 108 7760 234/avahi-daemon: r udp 0 0 0.0.0.0:5353 0.0.0.0:* 108 7758 234/avahi-daemon: r udp 0 0 0.0.0.0:806 0.0.0.0:* 0 7153 206/rpcbind udp 0 0 0.0.0.0:68 0.0.0.0:* 0 9367 413/dhcpcd udp 0 0 0.0.0.0:3671 0.0.0.0:* 109 10191 421/knxd udp 0 0 0.0.0.0:111 0.0.0.0:* 0 7152 206/rpcbind udp 0 0 192.168.1.13:39541 0.0.0.0:* 109 10187 421/knxd udp6 0 0 :::56238 :::* 108 7761 234/avahi-daemon: r udp6 0 0 :::5353 :::* 108 7759 234/avahi-daemon: r udp6 0 0 :::806 :::* 0 7160 206/rpcbind udp6 0 0 :::111 :::* 0 7157 206/rpcbind
Code:[smarthome@SmartHomeNG ~]$ sudo ps aux | grep php smartho+ 7227 1.0 0.4 4764 1932 pts/0 S+ 10:54 0:00 grep --color=auto php
Einen Kommentar schreiben:
-
Also ich kann mich auch täuschen aber ich sehe mal als erstes, dass bei dir kein Port 443 läuft und somit keine verbindung per https möglich ist. Außerdem hast du kein php-fpm installiert. Das habe ich aber glaube ich aus einem anderen Grund gemacht.
Also solltest du mal die NGINX Logs darauf prüfen warum der Port 443 nicht gebunden wird. Hast du das in der aktuellen Config noch auskommentiert?
Einen Kommentar schreiben:
-
Code:[smarthome@SmartHomeNG ~]$ sudo dpkg -l | grep php ii libapache2-mod-php7.0 7.0.19-1 armhf server-side, HTML-embedded scripting language (Apache 2 module) ii libawl-php 0.57-1 all Andrew's Web Libraries - PHP Utility Libraries ii php-common 1:49 all Common files for PHP packages ii php-curl 1:7.0+49 all CURL module for PHP [default] ii php-mbstring 1:7.0+49 all MBSTRING module for PHP [default] ii php7.0 7.0.19-1 all server-side, HTML-embedded scripting language (metapackage) ii php7.0-cli 7.0.19-1 armhf command-line interpreter for the PHP scripting language ii php7.0-common 7.0.19-1 armhf documentation, examples and common module for PHP ii php7.0-curl 7.0.19-1 armhf CURL module for PHP ii php7.0-json 7.0.19-1 armhf JSON module for PHP ii php7.0-mbstring 7.0.19-1 armhf MBSTRING module for PHP ii php7.0-opcache 7.0.19-1 armhf Zend OpCache module for PHP ii php7.0-readline 7.0.19-1 armhf readline module for PHP ii php7.0-xml 7.0.19-1 armhf DOM, SimpleXML, WDDX, XML, and XSL module for PHP
Code:[smarthome@SmartHomeNG ~]$ sudo netstat -tulpen Aktive Internetverbindungen (Nur Server) Proto Recv-Q Send-Q Local Address Foreign Address State Benutzer Inode PID/Program name tcp 0 0 0.0.0.0:9000 0.0.0.0:* LISTEN 1001 11051 477/python3 tcp 0 0 0.0.0.0:139 0.0.0.0:* LISTEN 0 10888 470/smbd tcp 0 0 0.0.0.0:111 0.0.0.0:* LISTEN 0 7154 206/rpcbind tcp 0 0 0.0.0.0:80 0.0.0.0:* LISTEN 0 47790 7011/nginx: master tcp 0 0 0.0.0.0:2323 0.0.0.0:* LISTEN 1001 11061 477/python3 tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 0 10178 419/sshd tcp 0 0 0.0.0.0:2424 0.0.0.0:* LISTEN 1001 11060 477/python3 tcp 0 0 0.0.0.0:445 0.0.0.0:* LISTEN 0 10887 470/smbd tcp 0 0 192.168.1.13:8383 0.0.0.0:* LISTEN 1001 11055 477/python3 tcp6 0 0 :::139 :::* LISTEN 0 10886 470/smbd tcp6 0 0 :::111 :::* LISTEN 0 7161 206/rpcbind tcp6 0 0 :::22 :::* LISTEN 0 10180 419/sshd tcp6 0 0 :::445 :::* LISTEN 0 10885 470/smbd tcp6 0 0 :::6720 :::* LISTEN 0 7345 1/init udp 0 0 192.168.1.255:137 0.0.0.0:* 0 10476 445/nmbd udp 0 0 192.168.1.13:137 0.0.0.0:* 0 10475 445/nmbd udp 0 0 0.0.0.0:137 0.0.0.0:* 0 10465 445/nmbd udp 0 0 192.168.1.255:138 0.0.0.0:* 0 10478 445/nmbd udp 0 0 192.168.1.13:138 0.0.0.0:* 0 10477 445/nmbd udp 0 0 0.0.0.0:138 0.0.0.0:* 0 10466 445/nmbd udp 0 0 0.0.0.0:36263 0.0.0.0:* 108 7760 234/avahi-daemon: r udp 0 0 0.0.0.0:5353 0.0.0.0:* 108 7758 234/avahi-daemon: r udp 0 0 0.0.0.0:806 0.0.0.0:* 0 7153 206/rpcbind udp 0 0 0.0.0.0:68 0.0.0.0:* 0 9367 413/dhcpcd udp 0 0 0.0.0.0:3671 0.0.0.0:* 109 10191 421/knxd udp 0 0 0.0.0.0:111 0.0.0.0:* 0 7152 206/rpcbind udp 0 0 192.168.1.13:39541 0.0.0.0:* 109 10187 421/knxd udp6 0 0 :::56238 :::* 108 7761 234/avahi-daemon: r udp6 0 0 :::5353 :::* 108 7759 234/avahi-daemon: r udp6 0 0 :::806 :::* 0 7160 206/rpcbind udp6 0 0 :::111 :::* 0 7157 206/rpcbind
Code:[smarthome@SmartHomeNG ~]$ sudo ps aux | grep php smartho+ 7107 0.0 0.4 4764 1884 pts/0 S+ 10:43 0:00 grep --color=auto php
Einen Kommentar schreiben:
-
Okay moment. Das war jetzt nicht genau das was ich wollte
sorry, mein Fehler.
Code:sudo dpkg -l | grep php sudo netstat -tulpen sudo ps aux | grep php
Einen Kommentar schreiben:
-
Ok, also
dpkg -i | grep php
netstat -tulpenCode:sudo dpkg -i | grep php dpkg: Fehler: --install benötigt mindestens eine Paket-Archivdatei als Argument Nutzen Sie dpkg --help für Hilfe zur Installation und Deinst. von Paketen[*]; Benutzen Sie »apt« oder »aptitude« für benutzerfreundliches Paketmanagement; Nutzen Sie dpkg -Dhelp für eine Liste von Debug-Flags von dpkg; Nutzen Sie dpkg --force-help für eine Liste von Optionen zum Erzwingen; Nutzen Sie dpkg-deb --help für Hilfe zum Manipulieren von *.deb-Dateien; Optionen mit[*] geben viel aus - schicken Sie es durch »less« oder »more«!
ps aux | grep phpCode:(Es konnten nicht alle Prozesse identifiziert werden; Informationen über nicht-eigene Processe werden nicht angezeigt; Root kann sie anzeigen.) Aktive Internetverbindungen (Nur Server) Proto Recv-Q Send-Q Local Address Foreign Address State Benutzer Inode PID/Program name tcp 0 0 0.0.0.0:9000 0.0.0.0:* LISTEN 1001 11051 477/python3 tcp 0 0 0.0.0.0:139 0.0.0.0:* LISTEN 0 10888 - tcp 0 0 0.0.0.0:111 0.0.0.0:* LISTEN 0 7154 - tcp 0 0 0.0.0.0:80 0.0.0.0:* LISTEN 0 47790 - tcp 0 0 0.0.0.0:2323 0.0.0.0:* LISTEN 1001 11061 477/python3 tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 0 10178 - tcp 0 0 0.0.0.0:2424 0.0.0.0:* LISTEN 1001 11060 477/python3 tcp 0 0 0.0.0.0:445 0.0.0.0:* LISTEN 0 10887 - tcp 0 0 192.168.1.13:8383 0.0.0.0:* LISTEN 1001 11055 477/python3 tcp6 0 0 :::139 :::* LISTEN 0 10886 - tcp6 0 0 :::111 :::* LISTEN 0 7161 - tcp6 0 0 :::22 :::* LISTEN 0 10180 - tcp6 0 0 :::445 :::* LISTEN 0 10885 - tcp6 0 0 :::6720 :::* LISTEN 0 7345 - udp 0 0 192.168.1.255:137 0.0.0.0:* 0 10476 - udp 0 0 192.168.1.13:137 0.0.0.0:* 0 10475 - udp 0 0 0.0.0.0:137 0.0.0.0:* 0 10465 - udp 0 0 192.168.1.255:138 0.0.0.0:* 0 10478 - udp 0 0 192.168.1.13:138 0.0.0.0:* 0 10477 - udp 0 0 0.0.0.0:138 0.0.0.0:* 0 10466 - udp 0 0 0.0.0.0:36263 0.0.0.0:* 108 7760 - udp 0 0 0.0.0.0:5353 0.0.0.0:* 108 7758 - udp 0 0 0.0.0.0:806 0.0.0.0:* 0 7153 - udp 0 0 0.0.0.0:68 0.0.0.0:* 0 9367 - udp 0 0 0.0.0.0:3671 0.0.0.0:* 109 10191 - udp 0 0 0.0.0.0:111 0.0.0.0:* 0 7152 - udp 0 0 192.168.1.13:39541 0.0.0.0:* 109 10187 - udp6 0 0 :::56238 :::* 108 7761 - udp6 0 0 :::5353 :::* 108 7759 - udp6 0 0 :::806 :::* 0 7160 - udp6 0 0 :::111 :::* 0 7157 -
Ich hab jetzt mal bei spdns wegen subdomain geschaut. Das scheint es nicht zu geben. Ich kann aber 5 Hosts verwenden. Jetzt habe ich einen alexa-xyz.spdns.eu erstellt. Da sagt aber certbotCode:smartho+ 7031 0.0 0.4 4764 1892 pts/0 S+ 10:30 0:00 grep --color=auto php
Code:Failed authorization procedure. alexa-xyz.spdns.eu (http-01): urn:acme:error:connection :: The server could not connect to the client to verify the domain :: Fetching http://alexa-smartvisu36.spdns.eu/.well-known/acme-challenge/5P7rTK-_KB_T8Yo-WOf4czuqX7r2laSwbc_1NtHueKc: Connect ion refused IMPORTANT NOTES: - The following errors were reported by the server: Domain: alexa-xyz.spdns.eu Type: connection Detail: Fetching http://alexa-xyz.spdns.eu/.well-known/acme-challenge/5P7rTK-_KB_T8Yo-WOf4czuqX7r2laSwbc_1NtHueKc: Connection refused
Einen Kommentar schreiben:
-
Also hier mal zur Referenz:
/etc/nginx/sites-available/meine-config
Dazu sei gesagt, dass ich mein php-fpm nicht auf einen socket binde sondern auf einen tcp kanal:Code:upstream php { server localhost:9090; } server { listen 80 default_server; server_name smarthome.fritz.box; satisfy any; allow 192.168.1.0/24; allow 192.168.179.0/24; deny all; auth_basic "SmartVisu Anmeldung"; auth_basic_user_file /etc/nginx/htpasswd; root /var/www/html; index index.php index.html index.htm; location / { autoindex on; } location ~ \.php$ { include /etc/nginx/fastcgi_params; fastcgi_pass 127.0.0.1:9090; fastcgi_read_timeout 300; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; } location /.well-known { allow all; } } # Visu server { listen 443 ssl default_server; server_name x.domain.de; auth_basic "x.domain.de"; auth_basic_user_file /etc/nginx/htpasswd; include /etc/nginx/include.d/common; root /var/www/html; index index.php index.html index.htm; location / { try_files $uri $uri/ =404; autoindex on; } location ~ \.php$ { include /etc/nginx/fastcgi_params; fastcgi_pass 127.0.0.1:9090; fastcgi_read_timeout 300; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; } } # Alexa server { listen 443 ssl; server_name alexax.domain.de; access_log /var/log/nginx/alexa.log combined; auth_basic "Alexa"; auth_basic_user_file /etc/nginx/htpasswd.alexa; include /etc/nginx/include.d/common; location / { proxy_pass http://192.168.179.10:9000/; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; } }
Auszug aus /etc/php/7.0/fpm/pool.d/www.conf
Da siehst du, dass ich den Port 9090 als FPM Port gewählt habe.Code:; The address on which to accept FastCGI requests. ; Valid syntaxes are: ; 'ip.add.re.ss:port' - to listen on a TCP socket to a specific IPv4 address on ; a specific port; ; '[ip:6:addr:ess]:port' - to listen on a TCP socket to a specific IPv6 address on ; a specific port; ; 'port' - to listen on a TCP socket to all addresses ; (IPv6 and IPv4-mapped) on a specific port; ; '/path/to/unix/socket' - to listen on a unix socket. ; Note: This value is mandatory. ;listen = /run/php/php7.0-fpm.sock listen = 127.0.0.1:9090
Du kannst uns ja mal den Output liefern von:
Code:dpkg -i | grep php und netstat -tulpen und ps aux | grep php
Einen Kommentar schreiben:
-
Heißt das, ich muss bei meinem dns Dienst (spdns.de) versuchen, eine Subdomain anzulegen??
Oder kann ich die config so ändern, dass nur der Alexa Teil funktioniert?
Einen Kommentar schreiben:
-
Okay das ist doch schonmal nicht schlecht. Anscheinend funktioniert der Login an der Sitemap nur der Service hinter Alexa läuft nicht richtig. Und ich denke ich weiß auch woran das liegt.
So sollte es aussehen:
Und so sieht es laut deiner Config aus:Code:# Sitemap server { listen 443 ssl default_server; access_log /var/log/nginx/sitemap.log combined; auth_basic "YOUR-HOME.DYNDNS.TLD"; # Alexa server { listen 443 ssl; server_name ALEXA.YOUR-HOME.DYNDNS.TLD; access_log /var/log/nginx/alexa.log combined;
Siehst du den Unterschied?Code:# Sitemap server { listen 443 ssl default_server; access_log /var/log/nginx/sitemap.log combined; auth_basic "xyz.spdns.eu"; # Alexa server { listen 443 ssl; server_name xyz.spdns.eu; access_log /var/log/nginx/alexa.log combined;
Laut config gibt es 2 URLS, die der nginx auf 2 unterschiedliche Ziele umleiten soll https://domain.eu soll auf location / und https://alexa.domain.eu soll auf proxypass x:9000, also auf den Alexa Service umgeleitet werden.
Bei dir ist das aber beides als Domain https://domain.eu definiert. So kann das nicht funktionieren. Du musst dir also noch eine Subdomain anlegen alexa.domain.eu und die dann auch mit einem A Record oder einem cname auf deine IP zeigen lassen.
Und dann solltest du im Abschnitt #Alexa den server_name entsprechend auf alexa.domain.eu angleichen. Du kannst erkennen ob du richtig bei dem Alexa Service rauskommst, wenn die Auth die aufgeht im Titel irgendwas sagt von Wegen Anmeldung für "Alexa" und nicht Anmeldung für xyz.spdns.eu
Einen Kommentar schreiben:


Einen Kommentar schreiben: