Назад | Перейти на главную страницу

прокси-сервер nginx https

Я уже использую nginx в качестве прокси для перенаправления с

http://www.mydomain.com ==> http://192.168.0.1

но когда я пытаюсь перенаправить

https://www.mydomain.com ==> https://192.168.0.1

это не работает !

мой nginx.conf:

server {
  listen 443;
  server_name www.mydomain.com;

  location / {
    proxy_pass https://192.168.0.1;
  }
}

когда я иду в https://192.168.0.1 работает нормально! nginx находится на 192.168.0.2 (другой компьютер).

что я сделал не так ?

Вы ведь не перенаправляете? Браузер продолжает говорить www.mydomain.com, он открывает соединение с вашим сервером nginx, который, в свою очередь, открывает соединение с машиной, на которой фактически обрабатывается запрос, эта машина отправляет свой ответ nginx, а nginx отправляет его обратно клиенту .

Поскольку nginx фактически общается с клиентом, ему потребуется SSL-соединение между ним и клиентом. Внутреннее SSL-соединение в вашей сети не обязательно необходимо, если вы не беспокоитесь о безопасности своей внутренней сети.

Вам нужно будет использовать ssl-модуль nginx. http://wiki.nginx.org/NginxHttpSslModule

server {
    server_name www.mydomain.com;
    listen 443;
    ssl on;
    ssl_certificate /usr/local/nginx/conf/server.crt;
    ssl_certificate_key /usr/local/nginx/conf/server.key;
    location / {
        proxy_pass https://192.168.0.1;
    }
}

Ваша текущая настройка, вероятно, будет работать на http://mydomain.com:443 так как это не ssl-соединение.