• Как настроить L5 Swagger чтобы он работал с nginx proxy_pass?

    @Fayst563 Автор вопроса
    Да, я так и сделал уже, ответ написал в данном посте.
  • Как настроить L5 Swagger чтобы он работал с nginx proxy_pass?

    @Fayst563 Автор вопроса
    nginx -T
    root@3f7efc5e7b24:/# nginx -T
    nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
    nginx: configuration file /etc/nginx/nginx.conf test is successful
    # configuration file /etc/nginx/nginx.conf:
    
    user  nginx;
    worker_processes  1;
    
    error_log  /var/log/nginx/error.log warn;
    pid        /var/run/nginx.pid;
    
    
    events {
        worker_connections  1024;
    }
    
    
    http {
        include       /etc/nginx/mime.types;
        default_type  application/octet-stream;
    
        log_format  main  '$remote_addr - $remote_user [$time_local] "$request" '
                          '$status $body_bytes_sent "$http_referer" '
                          '"$http_user_agent" "$http_x_forwarded_for"';
    
        access_log  /var/log/nginx/access.log  main;
    
        sendfile        on;
        #tcp_nopush     on;
    
        keepalive_timeout  65;
    
        #gzip  on;
    
        include /etc/nginx/conf.d/*.conf;
    }
    
    # configuration file /etc/nginx/mime.types:
    
    types {
        text/html                                        html htm shtml;
        text/css                                         css;
        text/xml                                         xml;
        image/gif                                        gif;
        image/jpeg                                       jpeg jpg;
        application/javascript                           js;
        application/atom+xml                             atom;
        application/rss+xml                              rss;
    
        text/mathml                                      mml;
        text/plain                                       txt;
        text/vnd.sun.j2me.app-descriptor                 jad;
        text/vnd.wap.wml                                 wml;
        text/x-component                                 htc;
    
        image/png                                        png;
        image/svg+xml                                    svg svgz;
        image/tiff                                       tif tiff;
        image/vnd.wap.wbmp                               wbmp;
        image/webp                                       webp;
        image/x-icon                                     ico;
        image/x-jng                                      jng;
        image/x-ms-bmp                                   bmp;
    
        font/woff                                        woff;
        font/woff2                                       woff2;
    
        application/java-archive                         jar war ear;
        application/json                                 json;
        application/mac-binhex40                         hqx;
        application/msword                               doc;
        application/pdf                                  pdf;
        application/postscript                           ps eps ai;
        application/rtf                                  rtf;
        application/vnd.apple.mpegurl                    m3u8;
        application/vnd.google-earth.kml+xml             kml;
        application/vnd.google-earth.kmz                 kmz;
        application/vnd.ms-excel                         xls;
        application/vnd.ms-fontobject                    eot;
        application/vnd.ms-powerpoint                    ppt;
        application/vnd.oasis.opendocument.graphics      odg;
        application/vnd.oasis.opendocument.presentation  odp;
        application/vnd.oasis.opendocument.spreadsheet   ods;
        application/vnd.oasis.opendocument.text          odt;
        application/vnd.openxmlformats-officedocument.presentationml.presentation
                                                         pptx;
        application/vnd.openxmlformats-officedocument.spreadsheetml.sheet
                                                         xlsx;
        application/vnd.openxmlformats-officedocument.wordprocessingml.document
                                                         docx;
        application/vnd.wap.wmlc                         wmlc;
        application/x-7z-compressed                      7z;
        application/x-cocoa                              cco;
        application/x-java-archive-diff                  jardiff;
        application/x-java-jnlp-file                     jnlp;
        application/x-makeself                           run;
        application/x-perl                               pl pm;
        application/x-pilot                              prc pdb;
        application/x-rar-compressed                     rar;
        application/x-redhat-package-manager             rpm;
        application/x-sea                                sea;
        application/x-shockwave-flash                    swf;
        application/x-stuffit                            sit;
        application/x-tcl                                tcl tk;
        application/x-x509-ca-cert                       der pem crt;
        application/x-xpinstall                          xpi;
        application/xhtml+xml                            xhtml;
        application/xspf+xml                             xspf;
        application/zip                                  zip;
    
        application/octet-stream                         bin exe dll;
        application/octet-stream                         deb;
        application/octet-stream                         dmg;
        application/octet-stream                         iso img;
        application/octet-stream                         msi msp msm;
    
        audio/midi                                       mid midi kar;
        audio/mpeg                                       mp3;
        audio/ogg                                        ogg;
        audio/x-m4a                                      m4a;
        audio/x-realaudio                                ra;
    
        video/3gpp                                       3gpp 3gp;
        video/mp2t                                       ts;
        video/mp4                                        mp4;
        video/mpeg                                       mpeg mpg;
        video/quicktime                                  mov;
        video/webm                                       webm;
        video/x-flv                                      flv;
        video/x-m4v                                      m4v;
        video/x-mng                                      mng;
        video/x-ms-asf                                   asx asf;
        video/x-ms-wmv                                   wmv;
        video/x-msvideo                                  avi;
    }
    
    # configuration file /etc/nginx/conf.d/well.localhost.conf:
    server {
      listen 80;
      listen [::]:80;
      listen 443 ssl;
      listen [::]:443 ssl;
    
      server_name well.localhost;
    
      ssl_certificate /etc/letsencrypt/live/well.localhost/fullchain.pem;
      ssl_certificate_key /etc/letsencrypt/live/well.localhost/privkey.pem;
    
      ssl_dhparam /etc/nginx/utility/ssl-dhparams.pem;
      include /etc/nginx/utility/options-ssl-nginx.conf;
    
      if ($server_port = 80) { set $https_redirect 1; }
      if ($host ~ '^www\.') { set $https_redirect 1; }
      if ($https_redirect = 1) { return 301 https://$host$request_uri; }
    
      error_log /var/log/nginx/well.localhost.error.log;
      access_log off;
    
      location /.well-known/acme-challenge/ { root /var/www/certbot; }
      location = /favicon.ico { access_log off; log_not_found off; }
      location = /robots.txt { access_log off; log_not_found off; }
      # === Конфигурации для фронтенда ===
    #   location / {
    #     index index.html;
    #     root /var/www/html/;
    #     try_files $uri $uri/ /index.html;
    #   }
    #   location / {
    #     proxy_pass        https://well-client:9000;
    #     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-Host $server_name;
    #     # WebSocket support added
    #     proxy_http_version 1.1;
    #     proxy_set_header Upgrade $http_upgrade;
    #     proxy_set_header Connection "upgrade";
    #   }
    # #   === Конфигурации для бекендк ===
    # #   Сервис авторизации
    #   location ~ ^/auth-back/ {
    #     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-Proto $scheme;
    #     proxy_pass          http://auth_server:4001;
    #     rewrite /auth-back/(.*) /$1 break;
    #   }
    #   # Сервис лендинга для клиентов
      location /main-back/ {
          proxy_pass          http://main-back:80;
    #       rewrite /main-back/(.*) /$1 break;
          proxy_set_header X-Real-IP $remote_addr;
          proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
          proxy_set_header Host $host;
    
      }
    #   # === Ютилити конфигурации ===
    #   location ~ ^/docs/ {
    #     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-Proto $scheme;
    #     proxy_pass          http://prj-docs:3000;
    #     rewrite /docs/(.*) /$1 break;
    #   }
    }
    
    # configuration file /etc/nginx/utility/options-ssl-nginx.conf:
    # This file contains important security parameters. If you modify this file
    # manually, Certbot will be unable to automatically provide future security
    # updates. Instead, Certbot will print and log an error message with a path to
    # the up-to-date file that you will need to refer to when manually updating
    # this file.
    
    ssl_session_cache shared:le_nginx_SSL:10m;
    ssl_session_timeout 1440m;
    ssl_session_tickets off;
    
    ssl_protocols TLSv1.2 TLSv1.3;
    ssl_prefer_server_ciphers off;
    
    ssl_ciphers "ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:DHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384";
  • Как настроить L5 Swagger чтобы он работал с nginx proxy_pass?

    @Fayst563 Автор вопроса
    А почему нельзя убрать rewrite /main-back/(.*) /$1 break;? Ведь URL должен содержать /main-back/, а деректива rewrite этому противоречит.


    Да я же говорю что убирал его, бесполезно. Локально данный параметр не содержится в ссылке. сейчас ссылки такая рабочая локально
    https://localhost:4000/docs-api а в nginx я добавляю параметр в урл, чтобы проксировать запросы на нужный бек, соответственно обрезаю параметр в урл, так как в оригинале его то нет. И запросы то работают правильно, отрабатывают. Не отрабатывает только swagger ui а именно он не добавляет этот параметр в ссылки на файлы js и css и соответственно они определяются как 404. Если в их ссылки добавить руками параметр /main-back/ то они загружаются.
  • Как настроить L5 Swagger чтобы он работал с nginx proxy_pass?

    @Fayst563 Автор вопроса
    Nginx не поддерживает .htaccess, это сделано для того, чтобы конфигурация была читаемой и предсказуемой.

    ну у меня стоит apache я с nginx проксирую на контейнер с ним и ларавелом. я писал редиректы чисто для файлов css и js.
  • Как настроить L5 Swagger чтобы он работал с nginx proxy_pass?

    @Fayst563 Автор вопроса
    если не отрезаю - так же не работает. ошибка та же. а отрезаю потому что локально у меня этого в урл нет. однако если я делаю запросы типа https://well.localhost/main-back/api/v1/users то запрос отрабатывает нормально