Мы разработали корпоративное приложение NodeJS, обслуживаемое по протоколу http / 2, и нам необходимо идентифицировать клиентов по их IP-адресу, поскольку серверу необходимо отправлять события клиентам на основе их IP (в основном некоторые данные о телефонных звонках).
Я могу успешно получить IP-адрес клиента через req.connection.remoteAddress
, но есть некоторые клиенты, которые могут получить доступ к серверу только через наш прокси-сервер.
Я знаю о заголовке x-forwarded-for
, но это не такэто не работает для нас, потому что прокси-серверы не могут изменять заголовки http в ssl-соединениях.
Поэтому я мог бы получить IP со стороны клиента и отправить обратно на сервер, например, во время процесса входа в систему.
Но, если я не ошибаюсь, браузеры не предоставляют эту информацию в javascript, поэтому нам нужен способ для получения этой информации в первую очередь.
Изучая ее, я обнаружил только один вариант:получение с сервера, который может сообщить мне IP-адрес, с которого я его получаю.
Конечно, через https я не могу из-за тон прокси.Но я могу легко включить службу http только для обслуживания IP-адреса клиента.
Но потом я обнаружил, что браузеры блокируют http-соединения со страниц, обслуживаемых https, из-за проблемы «смешанного активного содержимого».
Я прочитал об этом и обнаружил, что могу получить " смешанный пассивный контент ", и мне удается загрузить данные об мусоре в виде файла изображения через <img>
, но когда я пытаюсь сделать то же самое, используяЭлемент <object>
У меня снова возникает проблема с блоком «смешанного активного содержимого», даже в документации MDN говорится, что он считается пассивным .
Есть ли способ прочитать эти данные либо этим (повреждено)) <img>
или я что-то упускаю, чтобы сделать элемент <object>
действительно пассивным ?
Любая другая идея для достижения нашей цели также будет приветствоваться.