Я не могу загрузить PFFile (изображение) из Parse Dashboard, и я получаю 404, когда пытаюсь получить к нему доступ в браузере, когда мой сервер синтаксического анализа использует https

У меня есть сервер синтаксического анализа в Digital Ocean с https с использованием метода прокси-сервера nginx. URL моего сервера синтаксического анализа похож на https://my-domain.com/myappname. Я добавил эту ссылку на publicServerURL моего сервера синтаксического анализа в файл index.js, чтобы использовать его для mailgun и файлов.

Я также добавил эту ссылку как serverURL в файл config.json в Parse Dashboard. Я попытался загрузить pffile (изображение) через Parse Dashboard, но он говорит, что невозможно подключиться к Parse API. Когда я меняю serverURL в файле config.json с https://my-domain.com/myappname на http://server-ip:port/parse, он работает без проблем, но я получаю сообщение об ошибке при попытке удалить строку из базы данных (с https эта штука работает без проблем)

мой файл в /etc/nginx/sites-enabled/my-domain.com следующий (я также размещаю свой веб-сайт на том же сервере, что и мой сервер синтаксического анализа):

server {

        root /var/www/my-domain.com/html;
        index index.php index.html index.htm index.nginx-debian.html;
        client_max_body_size 100m;
        server_name my-domain.com www.my-domain.com;


        location / {
               if ($request_uri ~ ^/(.*)\.html$) {
                    return 302 /$1;
                }
               #try_files $uri $uri/ =404;
               try_files $uri $uri.html $uri/ /index.php$is_args$args;
        }

        location ~ \.php$ {
                include snippets/fastcgi-php.conf;
                fastcgi_pass unix:/var/run/php/php7.2-fpm.sock;
        }

        location ~ /\.ht {
                deny all;
        }

        location /myparseapp {
                proxy_set_header X-Real-IP $remote_addr;
                proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
                proxy_set_header X-NginX-Proxy true;
                proxy_pass http://localhost:1337/parse;
                proxy_ssl_session_reuse off;
                proxy_set_header Host $http_host;
                proxy_redirect off;
        }


    location = /favicon.ico { log_not_found off; access_log off; }
    location = /robots.txt { log_not_found off; access_log off; allow all; }
    location ~* \.(css|gif|ico|jpeg|jpg|js|png)$ {
        expires max;
        log_not_found off;
    }

    listen [::]:443 ssl ipv6only=on; # managed by Certbot
    listen 443 ssl; # managed by Certbot
    ssl_certificate /etc/letsencrypt/live/my-domain.com/fullchain.pem; # managed by Certbot
    ssl_certificate_key /etc/letsencrypt/live/my-domain.com/privkey.pem; # managed by Certbot
    include /etc/letsencrypt/options-ssl-nginx.conf; # managed by Certbot
    ssl_dhparam /etc/letsencrypt/ssl-dhparams.pem; # managed by Certbot


}
server {
    if ($host = www.my-domain.com) {
        return 301 https://$host$request_uri;
    } # managed by Certbot


    if ($host = my-domain.com) {
        return 301 https://$host$request_uri;
    } # managed by Certbot


        listen 80;
        listen [::]:80;

        server_name my-domain.com www.my-domain.com;
    return 404; # managed by Certbot

}

Также я не могу получить доступ к загруженному PFFile (изображению) через веб-браузер. URL-адрес https://my-domain.com/myappname/files/11d51c92517ace2d17bault / a> говорит, что 404 Not Found nginx / 1.14.0 (Ubuntu)


person John Codeos    schedule 18.01.2019    source источник


Ответы (1)


Наконец я нашел решение !!!

Я использовал subdomain.my-domain.com вместо my-domain.com/myapp, а в конфигурации nginx удалил try_files $uri $uri/ =404; и набрал следующее

location / {
                proxy_set_header X-Real-IP $remote_addr;
                proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
                proxy_set_header X-NginX-Proxy true;
                proxy_pass http://localhost:1337/parse/;
                proxy_ssl_session_reuse off;
                proxy_set_header Host $http_host;
                proxy_redirect off;
        }

Вам необходимо иметь / в конце proxy_pass, чтобы изображения работали в вашем браузере.

person John Codeos    schedule 25.01.2019