• 0 Posts
  • 13 Comments
Joined 1 year ago
cake
Cake day: June 22nd, 2023

help-circle
  • If you ensured both the subdomain and the domain name were provided when using certbot, then it could be a case where the server is still using a previous cert. I had issues where changing the cert in NameCheap did not immediately take affect. (In the NameCheap CPanel console, cert would be fine, but actually visiting the site would still present the old cert for a while.) There were at least a couple times where it only presented the new cert after I fully removed the old one from Cpanel. Other than that, running out of ideas.


  • ziviz@lemmy.sdf.orgtoMastodon@lemmy.mlSelfhosted SSL cert issue
    link
    fedilink
    English
    arrow-up
    3
    ·
    edit-2
    5 days ago

    Sounds like the cert is missing a required SAN name. I used namecheap and Let’s Encrypt together before. I had to ensure that *.ziviz.us and ziviz.us were both provided to certbot. I used manual DNS challenges, and it looked like this:

    certbot certonly --manual --preferred-challenges dns
    Saving debug log to /var/log/letsencrypt/letsencrypt.log
    Please enter the domain name(s) you would like on your certificate (comma and/or 
    space separated) (Enter 'c' to cancel): ziviz.us *.ziviz.us
    



  • Had something similar happen with indiegala. Had an account with them for years, then one day, could not purchase some games randomly. Hit up their support and got the answer “Oh, the purchase was denied because your account’s email address is detected as a temporary email address”… The email address I’ve been using on that account… for years… Is temporary.






  • The short answer is Rust was built with safety in mind. The longer answer is C was built mostly to abstract from assembly without much thought to safety. In C, if you want to use an array, you must manually request a chunk of memory, check to make sure you are writing within the bounds of your array, and free up the memory used by your array when completely done using it. If you do not do those steps correctly, you could write to a null pointer, cause a buffer overflow error, a use-after-free error, or memory leak depending on what step was forgotten or done out of order. In Rust, the compiler keeps track of when variables are used through a borrowing system. With this borrowing system the Rust compiler requests and frees memory safely. It also checks array bounds at run-time without a programmer explicitly needing to code it in. Several high-level languages have alot of these safety features too. C# for example, can make sure objects are not freed until they fall out of scope, but it does this at run-time with a garbage collector where Rust borrower rules are done at compile-time.