[Модуль] Yandex Home (yandexhome)

Разработка дополнительных модулей, подключение различных приложений.

Модератор: immortal

Kulibink
Сообщения: 32
Зарегистрирован: Пн сен 23, 2019 9:04 pm
Откуда: Челябинск
Благодарил (а): 4 раза
Поблагодарили: 5 раз

Re: [Модуль] Yandex Home (yandexhome)

Сообщение Kulibink » Вт ноя 12, 2019 6:16 pm

nick7zmail писал(а):
Вт ноя 12, 2019 6:52 am
У вас nginx? Может не все настройки выполнены? Конфиг обновленный, с ($|/) в location?
Да nginx, настройки вроде все по инструкции, прошу прощения про конфиг не совсем понял, если можно по подробнее.
digiben
Сообщения: 10
Зарегистрирован: Ср май 17, 2017 5:56 pm
Благодарил (а): 1 раз
Поблагодарили: 3 раза

Re: [Модуль] Yandex Home (yandexhome)

Сообщение digiben » Вт ноя 12, 2019 6:22 pm

Kulibink писал(а):
Вт ноя 12, 2019 6:16 pm
nick7zmail писал(а):
Вт ноя 12, 2019 6:52 am
У вас nginx? Может не все настройки выполнены? Конфиг обновленный, с ($|/) в location?
Да nginx, настройки вроде все по инструкции, прошу прощения про конфиг не совсем понял, если можно по подробнее.
Коллега, я вроде разобрался. Напиши мне в телеграмм @digiben92, если все будет ок. Запишем сюда мануал по проверке
Аватара пользователя
nick7zmail
Сообщения: 7573
Зарегистрирован: Пн окт 28, 2013 8:14 am
Откуда: Екатеринбург
Благодарил (а): 121 раз
Поблагодарили: 2010 раз

Re: [Модуль] Yandex Home (yandexhome)

Сообщение nick7zmail » Ср ноя 13, 2019 6:48 am

Kulibink писал(а):
Вт ноя 12, 2019 6:16 pm
Да nginx, настройки вроде все по инструкции, прошу прощения про конфиг не совсем понял, если можно по подробнее.
nano /etc/nginx/sites-eneble/default
там ищите location че то с .php связано, и в этой же строке должно быть что то формата ($|/). Иначе правила rewrite не работают, и ссылки формата /api.php/чтототамещё не отрабатывают. Из за этого не работает API модулей, в т.ч. модуль mqtt, и яндекс.
Raspberry Pi3+Broadlink+esp8266 (blynk)+AMS
Если вам помогло какое-либо сообщение - не забывайте пользоваться кнопкой "СПАСИБО".
:arrow: Услуги в профиле коннект
>>>>>Мой новый канал на ютутбе, подписывайтесь!<<<<<
Kulibink
Сообщения: 32
Зарегистрирован: Пн сен 23, 2019 9:04 pm
Откуда: Челябинск
Благодарил (а): 4 раза
Поблагодарили: 5 раз

Re: [Модуль] Yandex Home (yandexhome)

Сообщение Kulibink » Ср ноя 13, 2019 9:55 am

nick7zmail писал(а):
Ср ноя 13, 2019 6:48 am
Kulibink писал(а):
Вт ноя 12, 2019 6:16 pm
Да nginx, настройки вроде все по инструкции, прошу прощения про конфиг не совсем понял, если можно по подробнее.
nano /etc/nginx/sites-eneble/default
там ищите location че то с .php связано, и в этой же строке должно быть что то формата ($|/). Иначе правила rewrite не работают, и ссылки формата /api.php/чтототамещё не отрабатывают. Из за этого не работает API модулей, в т.ч. модуль mqtt, и яндекс.
На данный момент в /etc/nginx/sites-eneble/default, прописано так:

Код: Выделить всё

location ~ [^/]\.php(/|$) {
        include snippets/fastcgi-php.conf;
        fastcgi_pass unix:/var/run/php/php7.0-fpm.sock;
        }

        # deny access to .htaccess files, if Apache's document root
        # concurs with nginx's one
        #
        location ~ /\.ht {
                deny all;
        }
Но при попытки открыть /modules/yandexhome/smarthome.php/ Выдает ошибку 404, подскажите куда копать?
Аватара пользователя
nick7zmail
Сообщения: 7573
Зарегистрирован: Пн окт 28, 2013 8:14 am
Откуда: Екатеринбург
Благодарил (а): 121 раз
Поблагодарили: 2010 раз

Re: [Модуль] Yandex Home (yandexhome)

Сообщение nick7zmail » Ср ноя 13, 2019 10:28 am

Вот конфиг nginx с которым я когда то точно настраивал яндекс.

Код: Выделить всё

server {
	listen 80 default_server;
	listen [::]:80 default_server;

	root /var/www/html;

	# Add index.php to the list if you are using PHP
	index index.php index.html index.htm index.nginx-debian.html;

	server_name <serverurl>_;

location /api {
  rewrite ^(.*)$ /api.php;
}

location ~ \.html {
  if (!-e $request_filename){
    rewrite ^(.*)$ /nf.php;
  }
}


    location ~ [^/].php(/|$) {
		include snippets/fastcgi-php.conf;
		fastcgi_pass unix:/var/run/php/php7.0-fpm.sock;
	}

   location ~ /\.ht {
		deny all;
	}
}


server {
	# SSL configuration
    listen [::]:443 ssl ipv6only=on; # managed by Certbot
    listen 443 ssl; # managed by Certbot
	
	root /var/www/html;

	# Add index.php to the list if you are using PHP
	index index.php index.html index.htm index.nginx-debian.html;
    server_name <serverurl>; # managed by Certbot


location /api {
  rewrite ^(.*)$ /api.php;
}

location ~ \.html {
  if (!-e $request_filename){
    rewrite ^(.*)$ /nf.php;
  }
}


	location ~ \.php(/|$) {
		include snippets/fastcgi-php.conf;
		fastcgi_pass unix:/var/run/php/php7.0-fpm.sock;
	}

	location ~ /\.ht {
		deny all;
	}

    ssl_certificate /etc/letsencrypt/live/<serverurl>/fullchain.pem; # managed by Certbot
    ssl_certificate_key /etc/letsencrypt/live/<serverurl>/privkey.pem; # managed by Certbot
    include /etc/letsencrypt/options-ssl-nginx.conf; # managed by Certbot
    ssl_dhparam /etc/letsencrypt/ssl-dhparams.pem; # managed by Certbot

}

server {
    if ($host = <serverurl>) {
        return 301 https://$host$request_uri;
    } # managed by Certbot

	listen 80 ;
	listen [::]:80 ;
    server_name <serverurl>;
    return 404; # managed by Certbot


}
Может у вас какой нить кусок отсутствует? Или ещё что нить?
Raspberry Pi3+Broadlink+esp8266 (blynk)+AMS
Если вам помогло какое-либо сообщение - не забывайте пользоваться кнопкой "СПАСИБО".
:arrow: Услуги в профиле коннект
>>>>>Мой новый канал на ютутбе, подписывайтесь!<<<<<
Kulibink
Сообщения: 32
Зарегистрирован: Пн сен 23, 2019 9:04 pm
Откуда: Челябинск
Благодарил (а): 4 раза
Поблагодарили: 5 раз

Re: [Модуль] Yandex Home (yandexhome)

Сообщение Kulibink » Ср ноя 13, 2019 10:44 am

nick7zmail писал(а):
Ср ноя 13, 2019 10:28 am
Вот конфиг nginx с которым я когда то точно настраивал яндекс.

Код: Выделить всё

server {
	listen 80 default_server;
	listen [::]:80 default_server;

	root /var/www/html;

	# Add index.php to the list if you are using PHP
	index index.php index.html index.htm index.nginx-debian.html;

	server_name <serverurl>_;

location /api {
  rewrite ^(.*)$ /api.php;
}

location ~ \.html {
  if (!-e $request_filename){
    rewrite ^(.*)$ /nf.php;
  }
}


    location ~ [^/].php(/|$) {
		include snippets/fastcgi-php.conf;
		fastcgi_pass unix:/var/run/php/php7.0-fpm.sock;
	}

   location ~ /\.ht {
		deny all;
	}
}


server {
	# SSL configuration
    listen [::]:443 ssl ipv6only=on; # managed by Certbot
    listen 443 ssl; # managed by Certbot
	
	root /var/www/html;

	# Add index.php to the list if you are using PHP
	index index.php index.html index.htm index.nginx-debian.html;
    server_name <serverurl>; # managed by Certbot


location /api {
  rewrite ^(.*)$ /api.php;
}

location ~ \.html {
  if (!-e $request_filename){
    rewrite ^(.*)$ /nf.php;
  }
}


	location ~ \.php(/|$) {
		include snippets/fastcgi-php.conf;
		fastcgi_pass unix:/var/run/php/php7.0-fpm.sock;
	}

	location ~ /\.ht {
		deny all;
	}

    ssl_certificate /etc/letsencrypt/live/<serverurl>/fullchain.pem; # managed by Certbot
    ssl_certificate_key /etc/letsencrypt/live/<serverurl>/privkey.pem; # managed by Certbot
    include /etc/letsencrypt/options-ssl-nginx.conf; # managed by Certbot
    ssl_dhparam /etc/letsencrypt/ssl-dhparams.pem; # managed by Certbot

}

server {
    if ($host = <serverurl>) {
        return 301 https://$host$request_uri;
    } # managed by Certbot

	listen 80 ;
	listen [::]:80 ;
    server_name <serverurl>;
    return 404; # managed by Certbot


}
Может у вас какой нить кусок отсутствует? Или ещё что нить?
По большому счету все то-же самое. И не пойму в чем косяк( Уже голова взрывается.Изображение
Аватара пользователя
nick7zmail
Сообщения: 7573
Зарегистрирован: Пн окт 28, 2013 8:14 am
Откуда: Екатеринбург
Благодарил (а): 121 раз
Поблагодарили: 2010 раз

Re: [Модуль] Yandex Home (yandexhome)

Сообщение nick7zmail » Ср ноя 13, 2019 10:57 am

ДЛя секции с ssl то же самое?
Raspberry Pi3+Broadlink+esp8266 (blynk)+AMS
Если вам помогло какое-либо сообщение - не забывайте пользоваться кнопкой "СПАСИБО".
:arrow: Услуги в профиле коннект
>>>>>Мой новый канал на ютутбе, подписывайтесь!<<<<<
Kulibink
Сообщения: 32
Зарегистрирован: Пн сен 23, 2019 9:04 pm
Откуда: Челябинск
Благодарил (а): 4 раза
Поблагодарили: 5 раз

Re: [Модуль] Yandex Home (yandexhome)

Сообщение Kulibink » Ср ноя 13, 2019 11:50 am

nick7zmail писал(а):
Ср ноя 13, 2019 10:57 am
ДЛя секции с ssl то же самое?
ssl на сколько я понимаю не должен влиять на открытие ссылки по типу: localhost/modules/yandexhome/smarthome.php/
Я так понимаю что nginx заканчивается на .php а .php/ не распознает.
Аватара пользователя
nick7zmail
Сообщения: 7573
Зарегистрирован: Пн окт 28, 2013 8:14 am
Откуда: Екатеринбург
Благодарил (а): 121 раз
Поблагодарили: 2010 раз

Re: [Модуль] Yandex Home (yandexhome)

Сообщение nick7zmail » Ср ноя 13, 2019 11:54 am

На локалхост нет...а вот яндекс обращается по ссл, и такая ссылка должна отрабатывать. Если реализовано через реверс прокси - то может и не требуется этого правила. В конфиге выше - оно реализовано напрямую, и правило нужно.
Kulibink писал(а):
Ср ноя 13, 2019 11:50 am
Я так понимаю что nginx заканчивается на .php а .php/ не распознает.
А по факту должно распознавать. Апи модулей так работает. Попробуйте ссылки из документации апи по-открывать...пока не обращая внимания на яндекс модуль.
Raspberry Pi3+Broadlink+esp8266 (blynk)+AMS
Если вам помогло какое-либо сообщение - не забывайте пользоваться кнопкой "СПАСИБО".
:arrow: Услуги в профиле коннект
>>>>>Мой новый канал на ютутбе, подписывайтесь!<<<<<
Kulibink
Сообщения: 32
Зарегистрирован: Пн сен 23, 2019 9:04 pm
Откуда: Челябинск
Благодарил (а): 4 раза
Поблагодарили: 5 раз

Re: [Модуль] Yandex Home (yandexhome)

Сообщение Kulibink » Ср ноя 13, 2019 12:02 pm

nick7zmail писал(а):
Ср ноя 13, 2019 11:54 am
На локалхост нет...а вот яндекс обращается по ссл, и такая ссылка должна отрабатывать. Если реализовано через реверс прокси - то может и не требуется этого правила. В конфиге выше - оно реализовано напрямую, и правило нужно.
Kulibink писал(а):
Ср ноя 13, 2019 11:50 am
Я так понимаю что nginx заканчивается на .php а .php/ не распознает.
А по факту должно распознавать. Апи модулей так работает. Попробуйте ссылки из документации апи по-открывать...пока не обращая внимания на яндекс модуль.
Реализовано через реверс прокси. Прошу прощения возможно за глупый вопрос, из какой документации и какие апи? (не совсем понял)
Ответить