Ответы пользователя по тегу Nginx
  • Сервер отдаёт ошибку 500, в чём дело?

    wapster92
    @wapster92 Куратор тега JavaScript
    Судя по конфигу, до твоего js сервера вообще ничего не доходит)
    'https://example.com:443/server' - зачем порт в запросе пишешь, https и так по умолчанию запросит 443 порт. Еще чтобы обращаться к локальному серверу таким образом 'https://example.com' нужно в hosts прописать ip адрес данного домена. Ну в любом случае у тебя конфиг не верный. И еще ты увеличиваешь нагрузку делая https в express и в nginx.
    Примерный конфиг nginx
    server {
        listen 80;
        server_name example.com;
        return 301 https://$server_name$request_uri;
      }
    
      server {
        listen 443 ssl;
        server_name example.com;
    
        ssl_certificate /etc/letsencrypt/live/example.com/cert.pem;
        ssl_certificate_key /etc/letsencrypt/live/example.com/privkey.pem;
    
        location / {
          root /var/www/example.com/;
          index index.html;
        }
    
        location /server/ {
          proxy_pass http://127.0.0.1:3000;
            proxy_http_version 1.1;
            proxy_set_header Upgrade $http_upgrade;
            proxy_set_header Connection 'upgrade';
            proxy_set_header Host $host;
            proxy_cache_bypass $http_upgrade;
      }


    Еще и тут ошибка
    app.post('/var/www/example.com/server/' советую почитать доку, посмотреть примеры.
    Короче у тебя там одна каша и недоделки
    Ответ написан
  • Почему nginx не перенаправляет с 80 порта на 8081?

    wapster92
    @wapster92
    upstream serve {
      server 0.0.0.0:8081;
      keepalive 15;
    }
    
    server {
            listen 80;
            listen [::]:80;
    
            # Add index.php to the list if you are using PHP
    
            access_log  /var/log/nginx/mushroomer.access.log;
            error_log /var/log/nginx/mushroomer.error.log;
    
            location / {
                    # First attempt to serve request as file, then
                    # as directory, then fall back to displaying a 404.
                    proxy_set_header X-Real-IP  $remote_addr;
                    proxy_set_header Host $host;
                    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
                    proxy_pass http://serve;
            }
    
            # deny access to .htaccess files, if Apache's document root
            # concurs with nginx's one
            #
            #location ~ /\.ht {
            #       deny all;
            #}
    }
    Ответ написан
  • Как поднять два процесса в nginx?

    wapster92
    @wapster92
    Зачем все эти сложности с поддоменами, когда все относительно просто

    upstream client-upstream {
        server    0.0.0.0:3000;
        keepalive 15;
    }
    
    upstream back-upstream {
        server    0.0.0.0:8000;
        keepalive 15;
    }
    
    server {
    	listen ${HOST_IP}80;
        server_name ${PROJECT_NAME} www.${PROJECT_NAME};
    
        server_tokens off;
    
        root /var/www/prod/public;
        index index.php index.html index.htm;
    
        location / {
             proxy_pass http://client-upstream;
             proxy_http_version 1.1;
             proxy_set_header Upgrade $http_upgrade;
             proxy_set_header Connection $http_upgrade;
             proxy_set_header Host $host;
        }
        
        location /api {
             proxy_pass http://back-upstream;
             proxy_http_version 1.1;
             proxy_set_header Upgrade $http_upgrade;
             proxy_set_header Connection $connection_upgrade;
        }
    }

    В данном коде pm2 уменя поднимает и бэк и фронт на nuxt, со статичным бандлом реакта думаю все еще проще
    nuxt крутится на 3000 порту бэк на 8000. При обращении на domain.ru/api nginx проксирует на 8000 порт в остальных случаях на 3000
    Ответ написан
    1 комментарий