Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

docs: emphasize that port 80 needs to be reachable for lets encrypt #5

Merged
merged 4 commits into from
Oct 5, 2018
Merged
Changes from 1 commit
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Next Next commit
docs: emphasize that port 80 needs to be reachable for lets encrypt
  • Loading branch information
ggilmore committed Oct 3, 2018
commit 371c833ec2d47e09dfc1c5c3fb5cc2a2aea8b220
18 changes: 17 additions & 1 deletion docs/server/tutorials/tlsssl.md
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,23 @@ If you intend to make your Sourcegraph instance accessible on the Internet or an

Sourcegraph will use [Let's Encrypt](https://letsencrypt.org/) by default if the following conditions are met:

- Your `appURL` site configuration option begins with `https://...`, and the host is reachable on port 80 and port 443.
- Your `appURL` site configuration option begins with `https://...`.
- The host is reachable on port `80` and port `443`.

- 🚨 [Lets Encrypt requires that port `80` be reachable in order prove that you own your domain](https://letsencrypt.readthedocs.io/en/latest/challenges.html#http-01-challenge). If port `80` is unreachable, HTTPS will fail with errors such as the following:
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think it would be better to put this warning + the errors at the end of the section here. Otherwise, it is hard to read the bullet points here about if the following conditions are met: without losing your train of thought and/or not realizing more bullets come after.


```bash
http: TLS handshake error from 10.240.0.17:11486: acme/autocert: unable to authorize "example.com"; challenge "tls-alpn-01" failed with error: acme: authorization error for example.com: 403 urn:acme:error:unauthorized: Cannot negotiate ALPN protocol "acme-tls/1" for tls-alpn-01 challenge; challenge "http-01" failed with error: acme: authorization error for example.com: 403 urn:acme:error:unauthorized: Invalid response from http://example.com/.well-known/acme-challenge/gHyMIbdfCVRvnz0FUJuezDsDJYD7flbVBzr348MrfLg: "<!DOCTYPE html>\n<!--[if lt IE 7]> <html class=\"no-js ie6 oldie\" lang=\"en-US\"> <![endif]-->\n<!--[if IE 7]> <html class=\"no-js "

...

http: TLS handshake error from 10.20.3.1:13676: acme/autocert: missing certificate

...

http: TLS handshake error from 10.240.0.16:41012: 429 urn:acme:error:rateLimited: Error creating new authz :: too many failed authorizations recently: see https://letsencrypt.org/docs/rate-limits/
```
slimsag marked this conversation as resolved.
Show resolved Hide resolved

- You have not configured manual TLS certificates as described below.
- You have not configured `tls.letsencrypt` to `off`. (Defaults to `auto`)

Expand Down