我无法从Parse Dashboard上传PFFile(图像),当我的解析服务器使用https尝试在浏览器中访问它时,我得到404

约翰·科多斯

我在数字海洋上使用nginx代理方法使用https解析服务器。我的解析服务器网址类似于https://my-domain.com/myappname我已将此索引添加到index.js文件中我的解析服务器的publicServerURL上,以用于mailgun和文件。

我还在Parse Dashboard的config.json文件中将此链接作为serverURL添加了。我试图通过Parse Dashboard上传pffile(图像),但显示无法连接到Parse API。当我将config.json文件中的serverURL从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(image)。网址https://my-domain.com/myappname/files/11d51c92517ace2d17bc376f2da99a50_default.png表示404 Not Found nginx / 1.14.0(Ubuntu)

约翰·科多斯

终于我找到了解决方案!!!

我用subdomain.my-domain.com代替了my-domain.com/myapp,在nginx config中,我删除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的末尾带有/,图像才能在浏览器上工作。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章