Bei einer sehr aktuellen NodeJS-Version kam es bei mir zu dieser Fehlermeldung, als ich versuchte die Administration zu bauen.
error:0308010C:digital envelope routines::unsupported
Das Problem lässt sich beheben in dem man vorher dieses hier aufruft:
export NODE_OPTIONS=--openssl-legacy-provider
Dann sollte es wieder wie gewohnt durchlaufen. Beim Bauen der Storefront gilt das Selbe, wenn man es z. B. in verschiedenen SSH-Session baut.
Manchmal braucht man schnell und einfach einen HTTPS-Server um z.B. eine App auszuliefern, die auf die Kamera des PC oder Smartphones per WebRTC zugreift. Das geht an sich ganz einfach wenn man weiß, was man alles braucht.
Mit yarn:
yarn build
openssl req -newkey rsa:2048 -new -nodes -x509 -days 3650 -keyout key.pem -out cert.pem
sudo yarn global add http-server
http-server --ssl -c-1 -p 3000 ./build/
Mit npm:
npm run build
openssl req -newkey rsa:2048 -new -nodes -x509 -days 3650 -keyout key.pem -out cert.pem
sudo npm -g install http-server
http-server --ssl -c-1 -p 3000 ./build/
Damit hat man direkt einen HTTPS-Server bei dem man nur noch das unsichere Zertifikat akzeptieren muss.
Wenn man Windows verwendet muss man über die Bash (WSL) OpenSSL, NodeJS und NPM installieren und dann ist es wie unter Linux.. man befindet sich dann ja auch in einem Linux....
User
annonyme
Date
2019-08-20 19:51
Tags
development , hannes pries , https server , javascript , linux , nodejs , npm , openssl , smartphone , ssl , webcam , webrtc , yarn
Ein paar kleine Code-Snippets, um grundlegende Funktionen in node.js mit Elasticsearch implementieren zu können.
Elasticsearch-Client installieren:
npm install elasticsearch get-json
Client erstellen:
var elasticsearch = require('elasticsearch');
var client = new elasticsearch.Client( {
hosts: [
'http://localhost:9200/'
]
});
Index erstellen:
if(!client.indices.exists("testidx")){
client.indices.create({
index: "testidx"
}, (error, resp, status) => {console.log(status)}
);
}
Document speichern:
client.index(
{
index: "testidx",
type: "item",
id: "1",
body: {
id: "123",
value: "blubb"
}
}
);
Ein einfaches Query mit Callback-Function:
client.search({
index: 'testidx',
type: 'item',
body: {
query: {
match: { "id": "123" }
},
}
}, (error, response,status) => {
console.log("-- Hits --");
response.hits.hits.forEach((hit) => {
console.log(hit);
});
});
Ein einfaches Query mit Promise:
client.search({
index: 'testidx',
type: 'item',
body: {
query: {
match: { "id": "123" }
},
}
}).then((response) => {
response.hits.hits.forEach((hit) => {
console.log(hit);
});
}, (error) => {console.log(error);})
Mit Hilfe dieser Seite https://www.compose.com/articles/getting-started-with-elasticsearch-and-node/ zusammen gebastelt und hiermit https://www.elastic.co/guide/en/elasticsearch/client/javascript-api/current/quick-start.html ergänzt.