403 Запрещено + Nginx + Конфигурация виртуального хоста + NodeJS - PullRequest
0 голосов
/ 17 октября 2018

Я получаю 403 Запрещено на сервере настроить виртуальный хост с помощью Nginx для приложения NodeJS.

Код файла конфигурации:

server {
  listen 443 default_server;
  listen [::]:443 default_server;

  ssl on;
  ssl_certificate /etc/letsencrypt/live/example.com/fullchain.pem;
  ssl_certificate_key /etc/letsencrypt/live/example.com/privkey.pem;
  root /mnt/var/www/example.com/app/public/;

  index index.html index.htm index.php;

  server_name example.com www.example.com;

    access_log  /var/log/nginx/dygnostica_access.log;
    error_log   /var/log/nginx/dygnostica_error.log;

  location / {
    include /etc/nginx/proxy_params
    try_files $uri $uri/ =404;
  }
}

server {
   listen 0.0.0.0:80;
   server_name example.com www.example.com;
   rewrite ^ https://$host$request_uri? permanent;
}

Я настроил всю конфигурацию на основе this статья.

Нужна помощь в разрешении 403. Заранее спасибо.

РЕДАКТИРОВАТЬ:

Журнал ошибок говорит:

индекс каталога "/mnt/var/www/example.com/app/public/" запрещен.

1 Ответ

0 голосов
/ 17 октября 2018

Я думаю, у вас неправильная конфигурация для виртуального хоста.Вот мой конфигурационный файл nginx.У меня есть стандартное приложение PHP (https) на основном домене и приложение узла на поддомене (работает на порте 3000):

#// virtual host for node app:
server {
  server_name node.domain.cz;
  location / {
  proxy_pass http://127.0.0.1:3000;
  }
}

#// host (for PHP app)
server {
        listen 80;
        server_name domain.cz www.domain.cz;
        root /var/www/domain.cz/www;
        index index.php;

        location / {
                try_files $uri $uri/ /index.php?$args;
        }

        location ~ \.php$ {
                try_files $uri =404;
                fastcgi_split_path_info ^(.+\.php)(/.+)$;
                fastcgi_pass unix:/run/php/php7.1-fpm.sock;
                fastcgi_index index.php;
                include fastcgi.conf;
        }

    listen 443 ssl; # managed by Certbot
    # ssl_certificate ...

    if ($scheme != "https") {
        return 301 https://$host$request_uri;
    } # managed by Certbot

}
...