Django + Plesk + Apache - Запрещено 403 для определенных URL, но приложение 404 для показа запущено ...? - PullRequest
0 голосов
/ 03 октября 2018

Отказ от ответственности: вполне может быть дублированным ответом.Тем не менее, я очень старался, разочарован и потерян на этом.Рад за всех, чтобы указать мне в правильном направлении!:)

Проблема :

Используя Plesk Onyx, я пытаюсь развернуть свое приложение Django через Apache.

Я вижу Forbidden 403на некоторых URL, но 404 на других, которые выдают 404. Итак, приложение Django «работает» - но где-то мои разрешения попали в кирпичную стену ...

Итак - переход к https://api.winduplordvexxos.com/admin/или https://api.winduplordvexxos.com попадает в полную кирпичную стену 403.

Однако при переходе на любой 404 я вижу страницу с ошибкой просмотра URL Django 404:

Django 404 Page Not Found

Это прогресс - где-то там работает процесс wsgi.

Мои директивы http и https следующие вместе с пустыми директивами nginx:

Apache Conguration/Directives

Приведенная выше конфигурация отлично работает для ручного развертывания на сервере без установленного nginx ...

Просмотр этой страницы дает мне большую надежду!: D Я почти у цели ...

Примечание: mod_wsgi установлен.Я использую Ubuntu 16.04.На моем сервере установлен Plesk Onyx.Nginx мешает, и т.д.Выключить это?: D

Или, возможно, дать ему разрешение работать вместе с Apache ...?

ОБНОВЛЕНИЕ : Если это полезно, вот мой файл конфигурации nginx для домена:

#ATTENTION!
#
#DO NOT MODIFY THIS FILE BECAUSE IT WAS GENERATED AUTOMATICALLY,
#SO ALL YOUR CHANGES WILL BE LOST THE NEXT TIME THE FILE IS GENERATED.

server {
        listen 104.248.238.218:443 ssl http2;

        server_name api.winduplordvexxos.com;
        server_name www.api.winduplordvexxos.com;
        server_name ipv4.api.winduplordvexxos.com;

        ssl_certificate             /opt/psa/var/certificates/scfmLBLuq;
        ssl_certificate_key         /opt/psa/var/certificates/scfmLBLuq;
        ssl_client_certificate      /opt/psa/var/certificates/scfFzGCFF;

        client_max_body_size 128m;

        root "/var/www/vhosts/winduplordvexxos.com/api.winduplordvexxos.com/public";
        access_log "/var/www/vhosts/system/api.winduplordvexxos.com/logs/proxy_access_ssl_log";
        error_log "/var/www/vhosts/system/api.winduplordvexxos.com/logs/proxy_error_log";

        #extension letsencrypt begin
        location /.well-known/acme-challenge/ {
                root /var/www/vhosts/default/htdocs;

                types { }
                default_type text/plain;

                satisfy any;
                auth_basic off;
                allow all;

                location ~ ^/\.well-known/acme-challenge.*/\. {
                        deny all;
                }
        }
        #extension letsencrypt end

        location / {
                proxy_pass https://104.248.238.218:7081;
                proxy_set_header Host             $host;
                proxy_set_header X-Real-IP        $remote_addr;
                proxy_set_header X-Forwarded-For  $proxy_add_x_forwarded_for;
                access_log off;

        }

        location ~ ^/(plesk-stat|awstats-icon|webstat|webstat-ssl|ftpstat|anon_ftpstat) {
                proxy_pass https://104.248.238.218:7081;
                proxy_set_header Host             $host;
                proxy_set_header X-Real-IP        $remote_addr;
                proxy_set_header X-Forwarded-For  $proxy_add_x_forwarded_for;
                access_log off;

        }

        location ~ ^/~(.+?)(/.*?\.php)(/.*)?$ {
                alias /var/www/vhosts/winduplordvexxos.com/web_users/$1/$2;
                fastcgi_split_path_info ^((?U).+\.php)(/?.+)$;
                fastcgi_param PATH_INFO $fastcgi_path_info;
                fastcgi_pass "unix:///var/www/vhosts/system/api.winduplordvexxos.com/php-fpm.sock";
                include /etc/nginx/fastcgi.conf;

        }

        location ~ ^/~(.+?)(/.*)?$ {
                proxy_pass https://104.248.238.218:7081;
                proxy_set_header Host             $host;
                proxy_set_header X-Real-IP        $remote_addr;
                proxy_set_header X-Forwarded-For  $proxy_add_x_forwarded_for;
                access_log off;

        }

        location ~ \.php(/.*)?$ {
                fastcgi_split_path_info ^((?U).+\.php)(/?.+)$;
                fastcgi_param PATH_INFO $fastcgi_path_info;
                fastcgi_pass "unix:///var/www/vhosts/system/api.winduplordvexxos.com/php-fpm.sock";
                include /etc/nginx/fastcgi.conf;

        }

        location ~ /$ {
                index "index.html" "index.cgi" "index.pl" "index.php" "index.xhtml" "index.htm" "index.shtml";
        }

        add_header X-Powered-By PleskLin;

        include "/var/www/vhosts/system/api.winduplordvexxos.com/conf/vhost_nginx.conf";
}

server {
        listen 104.248.238.218:80;

        server_name api.winduplordvexxos.com;
        server_name www.api.winduplordvexxos.com;
        server_name ipv4.api.winduplordvexxos.com;

        client_max_body_size 128m;

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

1 Ответ

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

В Plesk Onyx мне нужно было перейти к следующему:

  • Перейдите в «Инструменты и настройки» и затем в «Управление службами»

  • В разделе «Управление службами» найдите «Обратный прокси-сервер (nginx)»

  • После обнаружения просто остановите службу «Обратный прокси-сервер (nginx)».

Прост, когда знаешь как!(Полная удача / шанс / отчаяние!)

...