It looks like Google Cloud Platform doesn't support Port Address Translation (PAT).
And RPNow doesn't allow itself to be moved from port 80 (for HTTP).
So HTTP-01 authentication might be out of the question.
Next up is DNS-01 authentication.
to make that run smoothly, you will need a DNS Service Provider (DSP) that supports DNS zone updates via API.
So, who does your domains' DNS? (Google?)
OK.
So if you don't already have one (probably not), you will need to setup an API key to allow certbot to add and remove the required TXT records for DNA authentication for your domain.
Then we can have certbot use those credentials to obtain a cert for your domain.
Hey, so I've been trying to get a service account and such, but is security even an issue anymore? When I try to access loveinthedark.net it doesn't tell me it can't provide a secure connection, it tells me it can't be reached and that the website refuses to connect.
I'm asking now as if I've never heard about a "connection" before: what's the difference?
Okay, I am really confused. I just tried to start the server and it can't.
β test server
########################
TESTING RPNOW SERVER
(Press CTRL+C to stop)
########################
2021/08/30 15:23:28 Loaded config at /etc/rpnow.ini
2021/08/30 15:23:28 Listening on :443
2021/08/30 15:23:28 listen and serve: listen tcp :80: bind: address already in use
Server exited on error: exit status 1
server status... (server not running)
So the address is already in use... Is it because I installed nginx?
I installed (or think I installed) the DNS plugin for google. When I run one of the examples I get this:
akaspirin@smol-rpnow:~$ certbot certonlyThe following error was encountered:[Errno 13] Permission denied: '/var/log/letsencrypt/.certbot.lock'Either run as root, or set --config-dir, --work-dir, and --logs-dir to writeable paths.Ask for help or search for solutions at [https://community.letsencrypt.org](https://community.letsencrypt.org/). See the logfile /tmp/tmpm9pg1bxw/log or re-run Certbot with -v for more details
Things I tried to do:
Changed the nginx port from 80 to 3200.
Tested the server of rpnow, which works now.
nginx is also happily listening on 3200.
I'm still getting the connection refused error...
I probably did something wrong when I installed the dns plugin (I don't know if I did, but probably, knowing me), so I'm gonna take a look at it tomorrow. A new day, etc.
Did I say thank you already?
Unless you have a NAT device (sorry I've forgotten most of this topic) to point the external inbound port 80 connections to your servers' port 3200...
The port 3200 will never been seen by anyone.
If you do have NAT/PAT control, then the problem can be solved:
point ext:80 to int:3200
use nginx to handle the LE challenge request and redirect all others to HTTPS.
If you don't, then we still need to learn how to:
So that certbot can use port 80 and satisfy the LE HTTP challenge requests.
[no need for nginx in this solution]