bear with me, iām new-ish to this stuff⦠i am interested in learning and have been reading up on http/https/webservers/security/etc⦠iāve setup a webserver and a local dns server (bind) to resolve an address locally. then setup a no-ip ddns account to access the webserve from the outside world. i figured since it is now āoutsideā https would be a good idea and thatās how i ended up here.
i am able to access the site externally via my no-ip ddns address and the only port i have forwarded to the serverās ip on my router is 80 at the moment, not sure how to determine IPv4 vs IPv6
i get the impression that https is useless (or not possible) when resolving internally?
i appreciate the responses! iām sure iāll get this figured out with a bit of help
If you intend on providing secured web services, then allow port 443 as well.
Not sure what you mean here, but https is basically http with added security.
If you can get to the site via http then you should be able to get to it via https.
Https has its uses internally, as it would prevent other devices on your network from eavesdropping on communications over the encrypted connection. However, setting TLS up internally often involves running your own local CA. Not technically required, but usually far simpler than trying to maintain ārealā certs on internal domains.
What are you actually putting in for local.domain? Is it the public ddns domain?
One way to check if you have IPv6 records set up (fāyou probably donāt and thatās probably not the case here, but itās educational) is the command dig domain.no-ip.com AAAA, obviously replacing that with your real domain. It will return any IPv6 DNS records for that domain.
Either way, this is all tangential to the issue of certbot not doing anything. How did you go about installing Certbot initially?
nslookup returns a server and an address as well as a non-authoritative answer with a name and an address
i intended on forwarding that port once i had the certs up, do i need to do that beforehand?
yes, that makes sense. i dont know how it differs when it is a local dns server resolving a local ip. my plan was to list both addresses on the cert so that locally i could use https as well as when connecting externally. perhaps that isnt the best idea?
yes.
i installed certbot with apt-get and jessie backdoor
You won't be able to issue a Let's Encrypt certificate for an internal name. It must be a publicly accessible name with a valid TLD (.com, .org, .wtf (yes it's real now), etc.) This setup gets a bit tricky and complicated, let's focus on one objective at a time.
Something very odd is going on. Itās as though something is preventing it from executing. Try sudo python and see if you get a terminal prompt for a python interpreter. (Use quit() to get out of this prompt.)
Python 2.7.9 (default, Sep 17 2016, 20:26:04)
[GCC 4.9.2] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>>
KeyboardInterrupt
>>> quit()
So this might end up being tedious, but Iām trying to eliminate one issue at a time. Try these:
Make a file called test.py, in it place the following:
print('Hello world!')
Close it and run sudo python test.py and tell me if āhello world!ā displays.
Next up, try sudo su to get a root shell and run certbot from there. This is starting to sound like some security issue, but Iām more knowledgeable about centos/red hat than Debian an the security side.
Finally, what happens if you Ren certbot without sudo?
ran sudo bash for root shell (necessary on raspberryPi from my understanding) and when i run certbot certonly --webroot -w /var/www/html -d X.mynetgear.com i get illegal instruction returned