|
15 | 15 | - [x] [WebID+TLS Authentication](https://www.w3.org/2005/Incubator/webid/spec/tls/) |
16 | 16 | - [x] [Real-time live updates](https://github.com/solid/solid-spec#subscribing) (using WebSockets) |
17 | 17 | - [x] Identity provider for WebID |
18 | | -- [x] Proxy for cross-site data access |
| 18 | +- [x] CORS proxy for cross-site data access |
19 | 19 | - [ ] Group members in ACL |
20 | 20 | - [x] Email account recovery |
21 | 21 |
|
@@ -59,10 +59,14 @@ $ solid start --root path/to/folder --port 8443 --ssl-key path/to/ssl-key.pem -- |
59 | 59 | # Solid server (solid v0.2.24) running on https://localhost:8443/ |
60 | 60 | ``` |
61 | 61 |
|
| 62 | +### Running in development environments |
| 63 | + |
| 64 | +Solid requires SSL certificates to be valid, so you cannot use self-signed certificates. To switch off this security feature in development environments, you can use the `bin/solid-test` executable, which unsets the `NODE_TLS_REJECT_UNAUTHORIZED` flag. If you want to test WebID-TLS authentication with self-signed certificates, additionally set `"rejectUnauthorized": false` in `config.json`. |
| 65 | + |
62 | 66 | ##### How do I get an SSL key and certificate? |
63 | | -You need an SSL certificate you get this from your domain provider or for free from [Let's Encrypt!](https://letsencrypt.org/getting-started/). |
| 67 | +You need an SSL certificate from a _certificate authority_, such as your domain provider or [Let's Encrypt!](https://letsencrypt.org/getting-started/). |
64 | 68 |
|
65 | | -If you don't have one yet, or you just want to test `solid`, generate a certificate (**DO NOT USE IN PRODUCTION**): |
| 69 | +For testing purposes, you can use `bin/solid-test` with a _self-signed_ certificate, generated as follows: |
66 | 70 | ``` |
67 | 71 | $ openssl genrsa 2048 > ../localhost.key |
68 | 72 | $ openssl req -new -x509 -nodes -sha256 -days 3650 -key ../localhost.key -subj '/CN=*.localhost' > ../localhost.cert |
@@ -93,6 +97,9 @@ $ solid --idp --port 8443 --cert /path/to/cert --key /path/to/key --root ./accou |
93 | 97 |
|
94 | 98 | Your users will have a dedicated folder under `./accounts`. Also, your root domain's website will be in `./accounts/yourdomain.tld`. New users can create accounts on `/api/accounts/new` and create new certificates on `/api/accounts/cert`. An easy-to-use sign-up tool is found on `/api/accounts`. |
95 | 99 |
|
| 100 | +### Running Solid behind a reverse proxy (such as NGINX) |
| 101 | +See [Running Solid behind a reverse proxy](https://github.com/solid/node-solid-server/wiki/Running-Solid-behind-a-reverse-proxy). |
| 102 | + |
96 | 103 | ##### How can send emails to my users with my Gmail? |
97 | 104 |
|
98 | 105 | > To use Gmail you may need to configure ["Allow Less Secure Apps"](https://www.google.com/settings/security/lesssecureapps) in your Gmail account unless you are using 2FA in which case you would have to create an [Application Specific](https://security.google.com/settings/security/apppasswords) password. You also may need to unlock your account with ["Allow access to your Google account"](https://accounts.google.com/DisplayUnlockCaptcha) to use SMTP. |
@@ -151,7 +158,7 @@ $ solid start --help |
151 | 158 | --ssl-key [value] Path to the SSL private key in PEM format |
152 | 159 | --ssl-cert [value] Path to the SSL certificate key in PEM format |
153 | 160 | --idp Enable multi-user mode (users can sign up for accounts) |
154 | | - --proxy [value] Serve proxy on path (default: '/proxy') |
| 161 | + --corsProxy [value] Serve the CORS proxy on this path |
155 | 162 | --file-browser [value] Url to file browser app (uses Warp by default) |
156 | 163 | --data-browser Enable viewing RDF resources using a default data browser application (e.g. mashlib) |
157 | 164 | --suffix-acl [value] Suffix for acl files (default: '.acl') |
@@ -195,7 +202,7 @@ default settings. |
195 | 202 | mount: '/', // Where to mount Linked Data Platform |
196 | 203 | webid: false, // Enable WebID+TLS authentication |
197 | 204 | suffixAcl: '.acl', // Suffix for acl files |
198 | | - proxy: false, // Where to mount the proxy |
| 205 | + corsProxy: false, // Where to mount the CORS proxy |
199 | 206 | errorHandler: false, // function(err, req, res, next) to have a custom error handler |
200 | 207 | errorPages: false // specify a path where the error pages are |
201 | 208 | } |
|
0 commit comments