#nginx
Вопрос:
У меня проблема с nginx и proxy_pass. Я пытаюсь обеспечить безопасное соединение со старым сервером без возможности обновления apache там. Я не могу установить там ssl-соединение с tls 1.2. Поэтому я попытался защитить его с помощью обратного прокси-сервера в nginx с некоторым успехом. когда я открываю сайт, например http://example.com или https://example.com соединение надежно и работает хорошо. Но есть и другие сайты, на которые есть ссылки, такие как https://example.com/login https://example.com/investitions (в основном каждый uri example.com/foo/bar/ и т.д.), и эти соединения небезопасны. моя конфигурация nginx выглядит так:
server {
listen 443 ssl;
server_name example.com www.example.com;
ssl_certificate ssl.crt;
ssl_certificate_key ssl.key;
ssl_client_certificate ca.crt;
proxy_ssl_protocols TLSv1.2;
proxy_ssl_ciphers HIGH:!aNULL:!MD5;
proxy_ssl_verify on;
proxy_ssl_verify_depth 2;
proxy_ssl_session_reuse on;
location / {
proxy_set_header X-Scheme https;
proxy_set_header X-Forwarded-Proto https;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Real-IP $remote_addr
proxy_pass http://baza.example.com/;
}
Пожалуйста, помогите мне.
Комментарии:
1. Это зависит от того, что вы подразумеваете под «небезопасным», Я чувствую, что ваш браузер предупреждает, что ваша страница получает некоторые небезопасные (http) конечные точки (js/css/изображения и т.д.). поэтому убедитесь, что вы заменяете все URL-адреса на https, когда вы получаете перенаправленный https-протокол в своем восходящем потоке (фактическое приложение, apache one).
2. Спасибо. проанализировав источник, я вижу, что у меня есть несколько изображений с адресом http. Знаете ли вы какой-нибудь способ переписать адреса с http на https из nginx?
3. прямо сейчас у меня есть ошибка SSL_ERROR_UNSUPPORTED_VERSION, но включены только tls 1.2 и 1.3
4. Вам понадобится модуль replace_filter для замены тела, поступающего из восходящего потока, но я бы не рекомендовал этого делать. Как насчет замены их по происхождению?