Gratis SSL-certifikat från let's encrypt
Let's encrypt öppnade precis upp för allmänheten. Ett bra tips för er som behöver gratis SSL-certifikat.
Citat:
|
Värt att nämna är att för att kunna nyttja letsencrypt.org måste deras Python-baserade klient installeras på servern i fråga. Det vill säga, inte riktigt för alla...
|
Citat:
|
Jag vill istället tipsa om CloudFlare som även ger gratis https sedan något år eller så tillbaka och sedan idag även skickar med HTTP/2 med SPDY som fallback till de webbläsare som inte stödjer HTTP/2.
|
Citat:
1. CloudFlare körs i mellan ens site och slutanvändaren 2. Certifikaten från CF tar ett dygn att utfärda 3. Utfärdas gratis av en icke-ideell organisation (du blev helt plötsligt produkten) 4. Manuell hantering av certifikaten. LE tillåter dig att generera, administrera, förnya och installera certifikaten direkt på servern. Processen kan även, enligt de jag läst, automatiseras när ett cert behöver förnyas. |
Citat:
Citat:
|
Citat:
Läste något om de för ett tag sedan men visste inte att levnadstiden var så kort. Körde precis skripten isf. Tog 1 min att generera och installera certen på servern. Bra mycket smidigare än den manuella processen jag är van vid. |
Har testat det själv på några siter nu under ett par veckor och måste säga att det är jäkligt smidigt att generera ut nya cert med Letsencrypt.
Däremot är det kanske inte riktigt redo för totala noviser. |
Läste precis anledning till varför livstiden för certifikaten är så kort.
Citat:
|
Kul ska prövas. Var orolig att de inte skulle stödja alla vanliga äldre klienter men det ser ut att inte vara något problem https://community.letsencrypt.org/t/...s-encrypt/4394.
|
Här är en helt ny klient till Lets Encrypt på under 200 rader som kan förnya certs genom cron job: https://github.com/diafygi/acme-tiny
|
Citat:
|
Eller så scriptar man bara ett eget.
LetsEncrypt är hur grymt som helst, rekommenderas! |
Någon som har koll på hur bra deras cert fungerar (eller inte) på mobila webbläsare? Eller andra issues för den delen...
|
Citat:
Här är ett test ifrån min setup https://www.ssllabs.com/ssltest/anal...swedishhost.se |
Citat:
|
Jag använder https://forge.laravel.com för att deploya många av mina applikationer och där finns Let's encrypt tillgängligt på sajten i fråga genom ett knapptryck. Rekommenderas om du kör PHP projekt!
|
Citat:
|
Citat:
|
Det enda negativa jag stött på är avsaknaden av stöd för IDN domäner men det är på gång :D
https://letsencrypt.org/upcoming-features/ |
Kändes inte helt OK att köra ett perl-script med root-rättigheter som uppdaterar sig själv via nätet ...
Jag har gjort ett script i NodeJS (JavaScript) för er som kör Nginx: https://github.com/Z3TA/letsencrypt-nodejs-nginx Fritt att kopiera och modifiera. |
certbot och följande crontab rad löser problemet:
Kod:
43 5 * * 1 /opt/letsencrypt/letsencrypt-auto renew --quiet --post-hook "service nginx reload" >> /var/log/le-renew.log https://www.digitalocean.com/communi...n-ubuntu-14-04 |
Även cPanel har nu detta inbyggt via deras AutoSSL funktion i v58. Man måste aktivera det bara via ett script man kör som root, sen så fungerar det riktigt smidigt!
|
Har man inte tillgång till root utan kör bara vanligt webbhotellskonto kan man använda "WP Encrypt" i Wordpress och sedan läsa key-file som man lägger in i t.ex. Cpanel som en vanlig SSL installation.
Pluginet kan autouppdatera certifikatet efter 90 dagar med. SSL hanteras enklast sen i Wordpress med pluginet "Really Simple SSL". |
Citat:
Edit: EsLint med Googles regler ger 499 fel och Flow Type runt 100. |
Citat:
Angående "linters" så är min erfarenhet att de nästan aldrig upptäcker buggar. Av de 499 "felen" du hittade beror troligtvis de flesta på att jag använder tab i stället för mellanslag som indentering ... |
Citat:
Citat:
Vad är din uppfattning av en linter, dess användning och vilken funktion anser du att den fyller? |
Citat:
Citat:
'==' istället för '===' ... Om jag skulle skriva if(foo===undefined) skulle jag även behöva lägga till if(foo===null). Så det är lite av en bekvämlighet, jag fångar två flugor i en smäll. Man bör dock undvika att jämföra olika typer. Ex: if("42"==42) . Men vad hjälper det om det blir false i stället för true !? Eventuella buggar kvarstår ändå. Man bör i stället konvertera alla nummer till den typ man vill ha. Ex: var age=parseInt(request.form.age) för att vara på den säkra sidan. |
Citat:
|
Citat:
|
Citat:
Lint/hint är bara ämnade för kodkvalité. |
Citat:
Citat:
Förstår du de statistiska sambandet mellan buggar och kodkomplexitet? Citat:
För att inte nämna de optimeringsproblem din JIT utsätts för när kod med sidoeffekter laddas in under körning. Har du te.x koll på hur icke-deterministisk kod påverkar din prestanda? Citat:
Citat:
Citat:
Om vi bortsätt från koden du postade så är de största misstaget du gör att tro att du är smartare än miljön du befinner dig i. För att kunna avgöra huruvida felen lintern påpekade är värt att fixa eller ej så behöver du grundläggande kunskap inom bl.a beräkningsmodeller, kompilatorer, typsystem, matematisk statistik och miljön koden ska köras i, te.x Googles V8-motor. Varför inte bygga upp nödvändig kunskap parallellt och förlita dig på de verktyg som finns? Citat:
|
Vet inte om gratis är bra och går att lita på i längden. Själv köpte jag en certifikat från Namecheap https://www.namecheap.com/security/s...tificates.aspx finns för $10 dollar per år och dyrare beroende på vad man behöver.
|
Citat:
Citat:
Det näst bästa är if(foo == undefined) Men det sämsta är if(!foo) för att det finns för många "false-positive", det skulle även trigga false, noll, strängen noll, tom sträng, tom array, eller array med noll, vilket ibland är ett godtagbart värde. Du har rätt i att undefined ofta tyder på en bugg ... Ta följande kod som exempel: Kod:
function test(a, b) { 1:1 - Expected a function expression. 1:1 - Missing JSDoc comment. 1:1 - Use the global form of 'use strict'. 1:14 - Missing space before function parentheses. 1:15 - Identifier name 'a' is too short (< 2). 1:18 - Identifier name 'b' is too short (< 2). 1:21 - Block must be padded by blank lines. 2:2 - Expected indentation of 4 space characters but found 0. 2:2 - Unexpected console statement. 3:1 - Block must be padded by blank lines. 4:2 - Newline required at end of file but not found. 4:6 - No magic number: 1. (no-magic-numbers) OMG! 12 fel!! Bäst att fixa dem ... Kod:
"use strict"; Men ända felet med första koden är att vi hade glömt andra argumentet (b), vilket är en ganska vanlig orsak till buggar. Felet kvarstår dock efter att vi fixat alla "fel" som Lintern hittade. Här har du ett exempel på varför jag jämför med undefined: Kod:
if(arg1 == undefined) throw new Error("arg1=" + arg1 + " saknas!") Jag rekommenderar denna video: https://www.youtube.com/watch?v=wf-BqAjZb8M (Raymond Hettinger - Beyond PEP 8 -- Best practices for beautiful intelligible code - PyCon 2015) |
Kanske dags att starta egen tråd om ECMAscript best practices?
|
Citat:
Citat:
|
Citat:
Glömde posta vad min linter säger. Fick ett fel; indenteringen. Har kopplat cmd-ä till --fix i eslint så den fixar automatiskt till en majoritet av alla fel direkt i editorn. Använder Googles regler med 2 undantag och några extra regler. Har bl.a stängt av jsdoc. |
Citat:
|
Citat:
|
Letsencrypt verkar rätt stabilt och kommer förhoppningsvis existera i flera år framöver.
Funderar dock på eventuella problem om man hårdlänkat adresser med httpS:// (S på slutet som i SSL/TSL) och Letsencrypt skulle stänga ner eller börja ta ordentligt betalt. |
Alla tider är GMT +2. Klockan är nu 23:44. |
Programvara från: vBulletin® Version 3.8.2
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Svensk översättning av: Anders Pettersson