如何更改parsing服务器装载URL到主根URL“/”

这里是我的index.js文件,我已经改变了下面的线,所以我可以在parsing服务器在根url挂载例如parse.example.com:1337而不是parse.example.com:1337/parse但我不知道如果它是正确的方式,我有很less的nodejs和JavaScript的经验

"var mountPath = process.env.PARSE_MOUNT || '/parse';" to " var mountPath = process.env.PARSE_MOUNT || '/';"

index.js

 var express = require('express'); var ParseServer = require('parse-server').ParseServer; var path = require('path'); var databaseUri = process.env.DATABASE_URI || process.env.MONGODB_URI; if (!databaseUri) { console.log('DATABASE_URI not specified, falling back to localhost.'); } var api = new ParseServer({ databaseURI: databaseUri || 'mongodb://parse:secretpass@127.0.0.1:27017/parsedb', cloud: process.env.CLOUD_CODE_MAIN || __dirname + '/cloud/main.js', appId: process.env.APP_ID || 'xxxxxxxxxxxxxxxxxx', masterKey: process.env.MASTER_KEY || 'xxxxxxxxxxxxxxxx', //Add your master key here. Keep it secret! serverURL: process.env.SERVER_URL || 'http://localhost:1337/', // Don't forget to change to https if needed liveQuery: { classNames: ["Posts", "Comments"] // List of classes to support for query subscriptions } }); var app = express(); // Serve static assets from the /public folder app.use('/public', express.static(path.join(__dirname, '/public'))); // Serve the Parse API on the /parse URL prefix var mountPath = process.env.PARSE_MOUNT || '/'; app.use(mountPath, api); // Parse Server plays nicely with the rest of your web routes app.get('/', function(req, res) { res.status(200).send('I dream of being a website. Please star the parse-server repo on GitHub!'); }); // There will be a test page available on the /test path of your server url // Remove this before launching your app app.get('/test', function(req, res) { res.sendFile(path.join(__dirname, '/public/test.html')); }); var port = process.env.PORT || 1337; var httpServer = require('http').createServer(app); httpServer.listen(port, function() { console.log('parse-server-example running on port ' + port + '.'); }); // This will enable the Live Query real-time server ParseServer.createLiveQueryServer(httpServer); 

你可以使用NGINX作为反向代理。

安装nginx包:

 sudo apt-get install -y nginx 

打开/ etc / nginx / sites-enabled / default

 sudo nano /etc/nginx/sites-enabled/default 

将其replace为以下内容:

 # 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 

更新:

  1. parsing服务器需要一个SSL证书默认工作,您可以禁用它,但强烈build议仅通过HTTPS使用它。

  2. 我正在使用让encryption证书,如果你需要帮助创build它们,我可以告诉你我写的教程,或者你可以使用自己的证书。