Arduino и HTTPS
От: nen777w  
Дата: 08.09.19 14:53
Оценка:
Добрый час!

Известно что Arduino то ли в силу слабого процессора то ли реализации EthernetClient не умеет HTTPS.
Но скрипт на сервере вызвать хочется.
Поэтому, вроде как можно отключить HTTP->HTTPS редирект на сервере который в vhost файле прописан так:
<VirtualHost *:80>
...

RewriteEngine on
RewriteCond %{REQUEST_URI} ^/\.well-known/acme-challenge/
RewriteRule ^ - [END]
RewriteCond %{HTTP_HOST} ^example\.com$ [NC]
RewriteRule ^(.*)$ http://www.example.com$1 [R=301,NE,L]
RewriteCond %{HTTPS} off
RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L,NE]

</VirtualHost>


Ок. Открываю .httpaccess

 RewriteEngine On
 RewriteCond %{HTTPS} on
 RewriteCond %{REQUEST_URI} ^/exp\.php$ <-- Кстати везде написано что должно быть exp\.php, но у меня без "/" никакого эффекта не было.
 RewriteRule (.*) http://%{HTTP_HOST}%{REQUEST_URI} [L]


Получаю следущее:
При вызове из веб бразуера http://www.example.com/exp.php получаю циклический редирект 301->302->301->...
Re: Arduino и HTTPS
От: Somescout  
Дата: 26.09.19 16:01
Оценка:
Здравствуйте, nen777w, Вы писали:


N>Ок. Открываю .httpaccess


N>
N> RewriteEngine On
N> RewriteCond %{HTTPS} on
N> RewriteCond %{REQUEST_URI} ^/exp\.php$ <-- Кстати везде написано что должно быть exp\.php, но у меня без "/" никакого эффекта не было.
N> RewriteRule (.*) http://%{HTTP_HOST}%{REQUEST_URI} [L]
N>


N>Получаю следущее:

N>При вызове из веб бразуера http://www.example.com/exp.php получаю циклический редирект 301->302->301->...

В родительском контексте задано что для запроса без ssl (%{HTTPS} off) нужно делать редирект на HTTPS.
Вы добавляете к этому, что когда запрос с ssl (%{HTTPS} on) нужно редиректить обратно на HTTP.
Само собой получается зацикленный редирект.

Вам нужно написать что-то вроде:

RewriteCond %{HTTPS} off
RewriteRule ^ - [END]


Это должно отключить перенаправление полностью (в смысле все правила) для http. Лучше перед последней строчкой добавить ещё RewriteCond с более конкретным условием (например адрес хоста или конкретный uri на сервере).
ARI ARI ARI... Arrivederci!
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.