Jump to content

Recommended Posts

Добрый день.

Возможна ли работа web и мобильных клиентов через https? Сейчас все запросы к api от web и андроид клиента идут через http. Попробовал с помощью nginx все запросы завернуть на https 301-м редиректом, но не сработало. В tcpdump видно, что на запрос, например, "/cameras" в ответ уходит правильный редирект, но подключения к https порту не появляется, похоже, клиент не обрабатывает такие ответы.

Share this post


Link to post
Share on other sites

Здравствуйте!
На данный момент - нет.
Ваше пожелание будет рассмотрено и возможно реализовано #5223.
Благодарим за содействие в развитии системы "Линия"!

Share this post


Link to post
Share on other sites
2 часа назад, Yarushkin сказал:

покажите конфиг

server {
  listen 80;
  listen [::]:80;
  listen 443          ssl;
  listen [::]:443     ssl;
  ssl_certificate     /etc/ssl/private/cert.pem;
  ssl_certificate_key /etc/ssl/private/key.pem;
  ssl_session_cache   shared:SSL:10m;
  ssl_session_timeout 10m;

  server_name _;
  
  location / {
    if ($scheme = http) {
      return 301 https://$host$request_uri;
    }
    proxy_pass              http://192.168.19.54:9786;
    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;
  }
}

Редирект сам по себе работает, ссылки типа http://server/cameras/0/image в браузере или http://server/cameras/0/stream/... в стороннем плеере преобразуются в https и данные идут. Не работают родные web и android приложения.

Share this post


Link to post
Share on other sites

попробуйте след вариант 

сделайте отдельный сервер без редиректов только proxy_pass (localhost - добавьте Ваш ip сервера Линии)

 

 server {

        ssl on;

        ssl_certificate "/var/*.crtca";

        ssl_certificate_key "/var/*.key";

    location / {

proxy_pass       http://localhost:9786;

          }

        listen 443 ssl;

        server_name xxx.xxx.ru;      

  }

ну и добавлю если сервер работает через TURN

он также доступен через https 

Edited by Yarushkin

Share this post


Link to post
Share on other sites

Здравствуйте.

Цитата

Не работают родные web и android приложения.

Что означает фраза "родные web приложения"?

А чтобы работали "родные android приложения", то есть, как я понимаю, подразумевается приложение Линия для Андроида, то как работать будет, если само приложение не поддерживает ни редирект, ни https, ни обработку сертификатов.

Share this post


Link to post
Share on other sites
2 часа назад, Yarushkin сказал:

попробуйте след вариант 

Нет, в таком случае ошибка 400 Bad Request The plain HTTP request was sent to HTTPS port, приложения же не знают, что тут ssl/tls.

Про turn знаю, задача безопасно опубликовать напрямую.

Share this post


Link to post
Share on other sites
2 часа назад, unlifer сказал:

Что означает фраза "родные web приложения"?

Приложений, которые меня интересуют 2 - web (flash) и андроид. Да, я имею ввиду именно приложения, разработанные компанией "ДевЛайн" для работы с системой "Линия".

То, что на данный момент в них не реализована поддержка https Станислав уже пояснил, но все равно спасибо.

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

×