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

tcp на http прокси через nginx

У меня есть сервер nginx, который принимает TCP-соединение. Мне нужно, чтобы этот запрос был перенаправлен на вышестоящий сервер приложений, прослушивающий http. Может ли кто-нибудь помочь мне с фрагментом или некоторыми документами.

Это позволяет использовать множество функций (вручную найдите, как обновить настройки ssl У Medium есть хороший пример

  • переход на SSL
  • включает http2 и keepalive
  • позволяет создавать клиентов в интерфейсе и бэкэнде, например, обслуживается в вашей локальной сети с настоящим сертификатом
server {
    listen 80;
    listen [::]:80 ;
    server_name frontend.com;
#    return 301 https://$host$request_uri;
    access_log            /var/log/nginx/frontend80.access.log main;
#    location /.well-known {  
#            alias /var/www/letsencrypt_webroot/.well-known;
#    }

        location / {
        return 301 https://$host$request_uri;
            }


       location /.well-known {

          proxy_set_header        Host $host;
          proxy_set_header        X-Real-IP $remote_addr;
    #      proxy_set_header        X-Forwarded-For $proxy_add_x_forwarded_for;
          proxy_set_header    X-Forwarded-For $remote_addr;
          proxy_set_header        X-Forwarded-Proto $scheme;

          # Fix the It appears that your reverse proxy set up is broken" error.
          proxy_pass          http://192.168.1.1:80;
          proxy_read_timeout  90;

            }

    }



    upstream destination.hq {
          keepalive 50;
        server 192.168.1.1:443   ;
        }

    server {
        listen 443 ssl http2;
        listen [::]:443 ssl http2;
        server_name frontend.com;
        client_max_body_size 4096M;

        ssl_certificate           /etc/letsencrypt/live/frontend.com/fullchain.pem;
        #/etc/ssl/private/fullchain.pem;
        ssl_certificate_key       /etc/letsencrypt/live/frontend.com/privkey.pem;
        #/etc/ssl/private/privkey.pem;
        ssl_trusted_certificate   /etc/letsencrypt/live/frontend.com/fullchain.pem;

    #    ssl on;
        ssl_session_cache  builtin:1000  shared:SSL:10m;
        #ssl_protocols  TLSv1 TLSv1.1 TLSv1.2 TLSv1.3;
        #ssl_ciphers HIGH:!aNULL:!eNULL:!EXPORT:!CAMELLIA:!DES:!MD5:!PSK:!RC4;
        ssl_prefer_server_ciphers on;
        add_header Strict-Transport-Security "max-age=31536000";

        access_log            /var/log/nginx/frontend.com.access.log main;
        location / {

         client_max_body_size 4096M;
          proxy_http_version 1.1;
          proxy_set_header        Host $host;
          proxy_set_header        X-Real-IP $remote_addr;
    #      proxy_set_header        X-Forwarded-For $proxy_add_x_forwarded_for;
          proxy_set_header    X-Forwarded-For $remote_addr;
          proxy_set_header        X-Forwarded-Proto $scheme;
          proxy_set_header Host            $upstream_addr;
          add_header       X-Host          $host;
          # Fix the It appears that your reverse proxy set up is broken" error.
          proxy_pass          https://destination.hq;
          proxy_read_timeout  90;

          #proxy_redirect      https://backend.local:8443 https://frontend.com;
        }
      }