Node.js 如何将解析服务器装载url更改为主根url/&引用;

Node.js 如何将解析服务器装载url更改为主根url/&引用;,node.js,parse-platform,Node.js,Parse Platform,这是我的index.js文件,我在下面一行做了更改,这样我可以在根url中安装解析服务器,例如parse.example.com:1337,而不是parse.example.com:1337/parse,但我不确定这是否正确,而且我对nodejs和javascript几乎没有经验 “var mountPath=process.env.PARSE||||'/PARSE';”到“var mountPath=process.env.PARSE|u MOUNT|||'/'” index.js 您可以使用

这是我的index.js文件,我在下面一行做了更改,这样我可以在根url中安装解析服务器,例如
parse.example.com:1337
,而不是
parse.example.com:1337/parse
,但我不确定这是否正确,而且我对nodejs和javascript几乎没有经验

“var mountPath=process.env.PARSE||||'/PARSE';”到“var mountPath=process.env.PARSE|u MOUNT|||'/'”

index.js
您可以使用NGINX作为反向代理

安装nginx软件包:

sudo apt-get install -y nginx
打开/etc/nginx/sites enabled/default

sudo nano /etc/nginx/sites-enabled/default
将其替换为以下内容:

# HTTP - redirect all requests to HTTPS
server {
    listen 80;
    listen [::]:80 default_server ipv6only=on;
    return 301 https://$host$request_uri;
}

# HTTPS - serve HTML from /usr/share/nginx/html, proxy requests to /parse/
# through to Parse Server
server {
        listen 443;
        server_name your_domain_name;

        root /usr/share/nginx/html;
        index index.html index.htm;

        ssl on;
        # Use certificate and key
        ssl_certificate /etc/letsencrypt/live/your_domain_name/fullchain.pem;
        ssl_certificate_key /etc/letsencrypt/live/your_domain_name/privkey.pem;
        ssl_session_timeout 5m;
        ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
        ssl_prefer_server_ciphers on;
        ssl_ciphers 'EECDH+AESGCM:EDH+AESGCM:AES256+EECDH:AES256+EDH';

        # Pass requests for /parse/ to Parse Server instance at localhost:1337
        location /parse/ {
                rewrite ^/parse(/.*)$ $1 break;# this is the line that will redirect to root url
                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/;
                proxy_ssl_session_reuse off;
                proxy_set_header Host $http_host;
                proxy_redirect off;
        }

        location / {
                try_files $uri $uri/ =404;
        }
}
保存、退出并重新启动

sudo service nginx restart
更新:

  • 默认情况下,解析服务器需要ssl证书才能工作,您可以禁用它,但强烈建议仅通过HTTPS使用它

  • 我正在使用Lets加密证书,如果您需要帮助创建它们,我可以向您展示我编写的教程,或者您可以使用自己的证书


  • 您的复制和粘贴配置无法解释Letsencrypt SSL证书。。。甚至是你为什么强迫他改成https@MazelTov首先,默认情况下解析只能通过https工作,您可以强制它使用http,但这确实是一个很大的安全风险,因为您的访问令牌将可见。第二,我个人使用的是lets加密证书,他可以使用他想要的任何一个。我会说解析服务器与http或https没有太多共同点,因为这是web服务器的事情,第二,你的配置是错误的,他要求将/parse改为/但你给他看了/parse/instead,我相信即使在parse.com上,他们也曾经说过AppID和ClientID应该是公共的。。。我发现它是@MazelTov真的,牺牲了一层基于评论的安全性?我同意将所有ACL规则按顺序排列是一种最佳实践,这在使用Parse时非常容易理解,但为什么要将访问密钥公开?作为一个实验,在评论中公开你的观点,让我们看看我们能用它们做些什么;)我建议你不要这样做,这真的是一个很多人使用的网络约定。。。这必须在http服务器(如Nginx或Apache)中进行更改,如果您没有任何使用经验,请不要触摸正在运行的服务器!还是照这个做
    sudo service nginx restart