SolidBench / SolidBench.js

A benchmark for Solid to simulate vaults with social network data.
MIT License
10 stars 11 forks source link

Issue with Runinnig SolidBench over HTTPS #11

Open MohamedRagabAnas opened 8 months ago

MohamedRagabAnas commented 8 months ago

Hello,

I tried to run solidbench serve over https, providing the httpsKey and httpsCert , bu that failed.

complaining about the following error: Error: Could not create the server Cause: Undefined variable: urn:solid-server:custom:variable:httpsKey Error: Undefined variable: urn:solid-server:custom:variable:httpsKey

I am not sure if there is something missing in my command, or in the configuration that I should take care of.

This how I run the command solidbench serve --baseUrl https://[myVM_IP]:3000 --httpsKey /etc/tls/private/entca_srv0.key --httpsCert /etc/tls/certs/entca_srv0.pem -c /etc/solid/server-config.json

and here is how the server-config.json looks likes after some trials:


    "@context": "https://linkedsoftwaredependencies.org/bundles/npm/@solid/community-server/^5.0.0/components/context.jsonld",
    "import": [
    "css:config/app/main/default.json",
    "css:config/app/setup/disabled.json",
    "css:config/app/variables/default.json",
    "css:config/http/handler/default.json",
    "css:config/http/middleware/websockets.json",
    "css:config/http/server-factory/https-websockets.json",
    "css:config/http/static/default.json",
    "css:config/identity/access/public.json",
    "css:config/identity/email/default.json",
    "css:config/identity/handler/default.json",
    "css:config/identity/ownership/token.json",
    "css:config/identity/pod/static.json",
    "css:config/identity/registration/enabled.json",
    "css:config/ldp/authentication/dpop-bearer.json",
    "css:config/ldp/authorization/webacl.json",
    "css:config/ldp/handler/default.json",
    "css:config/ldp/metadata-parser/default.json",
    "css:config/ldp/metadata-writer/default.json",
    "css:config/ldp/modes/default.json",
    "css:config/storage/backend/file.json",
    "css:config/storage/key-value/resource-store.json",
    "css:config/storage/middleware/default.json",
    "css:config/util/auxiliary/acl.json",
    "css:config/util/identifiers/suffix.json",
    "css:config/util/index/default.json",
    "css:config/util/logging/winston.json",
    "css:config/util/representation-conversion/default.json",
    "css:config/util/resource-locker/memory.json",
    "css:config/util/variables/default.json"
  ],
  "comment": "Adapted from \"css:config/file-no-setup.json\"",
  "@graph": [
    {
      "comment": "A single-pod server that stores its resources on disk."
    },
    { "comment": "Adapted from \"css:config/app/init/initialize-root.json\", with things removed" },
    {
      "import": [
        "css:config/app/init/initializers/logger.json",
        "css:config/app/init/initializers/server.json"
      ],
      "comment": "These initializers will be all be executed sequentially when starting the server.",
      "@id": "urn:solid-server:default:Initializer",
      "@type": "SequenceHandler",
      "handlers": [
        { "@id": "urn:solid-server:default:LoggerInitializer" },
        { "@id": "urn:solid-server:default:ServerInitializer" }
      ]
    },
    { "comment": "Adapted from \"css:config/util/identifiers/suffix.json\", with FixedContentTypeMapper" },
    {
      "@id": "urn:solid-server:default:IdentifierStrategy",
      "@type": "SingleRootIdentifierStrategy",
      "baseUrl": { "@id": "urn:solid-server:default:variable:baseUrl" }
    },
    {
      "comment": "Only required when pod creation is enabled.",
      "@id": "urn:solid-server:default:IdentifierGenerator",
      "@type": "SuffixIdentifierGenerator",
      "base": { "@id": "urn:solid-server:default:variable:baseUrl" }
    },
    {
      "comment": "Only required when using a file-based backend.",
      "@id": "urn:solid-server:default:FileIdentifierMapper",
      "@type": "FixedContentTypeMapper",
      "base": { "@id": "urn:solid-server:default:variable:baseUrl" },
      "rootFilepath": { "@id": "urn:solid-server:default:variable:rootFilePath" },
      "contentType": "application/n-quads",
      "pathSuffix": ".nq"
    }
  ]
}```

Thanks!
rubensworks commented 8 months ago

SolidBench doesn't support delegating CLI options to the internal Solid server atm, so what you want to do won't be possible right now unfortunately.

What would be easier to do, would be to run SolidBench in http-mode behind a reverse proxy such as Nginx, and enabling https in Nginx.