OSRM на Nginx через SSL

Я настроил OSRM (Маршрутизатор с открытым исходным кодом) с помощью nginx. Работает как положено. Но проблема в том, что я не могу заставить его работать над ssl. Я установил порты 443, сайт через nginx работает с https, все нормально, только сервис OSRM или как я его называю, который работает на машине с Ubuntu, он не работает. Страница, когда я открываю доступ / местоположение, говорит:

ошибка 400, неверный запрос

Простой HTTP-запрос был отправлен на порт HTTPS

Вот мой файл osrm.config:

  upstream osrm {
  # commented out  server 0.0.0.0:5000;
    server 0.0.0.0:443;
}

server {
    listen 443;
    ssl on;
    ssl_certificate /my/valid/path/working;
    ssl_certificate_key /my/valid/path/working;
    server_name  my_server_sub_domain_is_here;

    location /mypath {
        proxy_pass http://osrm/;
        proxy_set_header Host $http_host;
    }
}

2 ответа

Решение

Это было исправлено. Я только заменил:

 proxy_pass http://osrm/;

с:

proxy_pass localhost:5000;

С вашей текущей конфигурацией часть ssl завершается на сервере nginx.

Следующее включает дополнительную конфигурацию, в которой вы нуждаетесь.

upstream osrm {
  # commented out  server 0.0.0.0:5000;
    server 0.0.0.0:443;
}

server {
    listen 443;
    ssl on;
    ssl_certificate /my/valid/path/working;
    ssl_certificate_key /my/valid/path/working;
    server_name  my_server_sub_domain_is_here;
    proxy_ssl  on;
    proxy_ssl_certificate     /etc/ssl/certs/backend.crt;
    proxy_ssl_certificate_key /etc/ssl/certs/backend.key;

location /mypath {
        proxy_pass http://osrm/;
        proxy_set_header Host $http_host;
    }

Части, которые я добавил, делают следующее

proxy_ssl Сообщает Nginx отправлять восходящий трафик через ssl. документы
proxy_ssl_certificate Определяет сертификат, который должен использоваться для трафика ssl. документы
proxy_ssl_certificate_key Определяет закрытый ключ для используемого сертификата. документы

Другие вопросы по тегам