Рейтинг:0

внешний HTTPS-доступ к http серверной части ngix

флаг cn

У меня есть интерфейс в Angular, который поддерживает https, а у меня есть сервер на порту 10080, который поддерживает http. Я пробую несколько способов обратного прокси в файле конфигурации ngix, но он все еще сталкивается с теми же проблемами.

Пока я пробую этот метод, всегда получаю сообщение об ошибке «Доступ к XMLHttpRequest по адресу https://example.com:30080/api/remoteControl/getactiveusers» из источника «https://example.com» заблокирован политикой CORS: Нет В запрошенном ресурсе присутствует заголовок «Access-Control-Allow-Origin».

сервер {
    слушать 443 ssl;
    имя сервера  _;
    add_header Strict-Transport-Security «max-age = 31536000; includeSubDomains; предварительная загрузка» всегда;
    корень /usr/share/nginx/html;
    индекс index.html index.htm;
    включить /etc/nginx/mime.types;

    gzip включен;
    gzip_min_length 1000;
    gzip_proxied просрочил приватную авторизацию без кэша и без хранилища;
    gzip_types text/plain text/css application/json application/javascript application/x-javascript text/xml application/xml application/xml+rss text/javascript;
    ssl_certificate "xxx.crt";
    ssl_certificate_key "xxx.key";
    ssl_session_timeout 1 д;
    ssl_protocols TLSv1.2 TLSv1.3;
    ssl_ciphers -RSA-CHACHA20-POLY1305:DHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384;
    ssl_session_cache общий: SSL: 10 м;
    ssl_session_tickets выключен;
    ssl_stapling выключен;
    
    место расположения / {
     если ($ request_method = 'ВАРИАНТЫ') {
        add_header Access-Control-Allow-Origin *;
        add_header Access-Control-Allow-Methods 'GET, POST, OPTIONS';
        add_header Content-Type text/plain;
        add_header Content-Length 0;
        вернуть 204;
    }
    add_header 'Access-Control-Allow-Origin' *;
    add_header 'Access-Control-Allow-Methods' 'GET, POST, OPTIONS';

    try_files $uri $uri//index.html;
    }
    расположение ~* \.(eot|ttf|woff|woff2)$ {
     add_header Access-Control-Allow-Origin *;
   }
   

}
сервер {
    слушать 10080 ssl http2;
    имя сервера  _;
    add_header Strict-Transport-Security «max-age = 31536000; includeSubDomains; предварительная загрузка» всегда;
   ssl_certificate "xxxx.crt";
    ssl_certificate_key "xxx.key";
ssl_session_timeout 1 д;
    ssl_protocols TLSv1.2 TLSv1.3;
    ssl_ciphers -RSA-CHACHA20-POLY1305:DHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384;
ssl_session_cache общий: SSL: 10 м;
    место расположения / {
    
        proxy_pass "http://backend:80" ;
        proxy_set_header Поддержание соединения;
        proxy_set_header Хост $host;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header X-Forwarded-Proto https;    
# proxy_set_header X-Forwarded-Host $host;
# proxy_hide_header X-Frame-Options;
        proxy_buffers 4 256 КБ;
        proxy_buffer_size 128k; 
        proxy_busy_buffers_size 256 КБ;
    }
}

Кто-нибудь знает, как это решить?

Спасибо

флаг in
Настройте внутренний сервер для генерации правильных URL-адресов для запросов (с https, без порта).
флаг cn
Извините, не могли бы вы объяснить больше об этом?
Рейтинг:0
флаг us

Ваша установка имеет несколько проблем.

Во-первых, у вас есть два общедоступных виртуальных сервера nginx, на портах 443 и 10080.У вас должен быть только сервер, прослушивающий порт 443 и обратные прокси-запросы оттуда.

Во-вторых, ваш бэкенд генерирует контент, содержащий такие ссылки, как http://example.com:10080/страница. Ваш сервер должен генерировать URL-адреса, такие как https://example.com/page.

Ответить или комментировать

Большинство людей не понимают, что склонность к познанию нового открывает путь к обучению и улучшает межличностные связи. В исследованиях Элисон, например, хотя люди могли точно вспомнить, сколько вопросов было задано в их разговорах, они не чувствовали интуитивно связи между вопросами и симпатиями. В четырех исследованиях, в которых участники сами участвовали в разговорах или читали стенограммы чужих разговоров, люди, как правило, не осознавали, что задаваемый вопрос повлияет — или повлиял — на уровень дружбы между собеседниками.