70 lines
1.9 KiB
Markdown
70 lines
1.9 KiB
Markdown
---
|
|
title: "Soft Serve through https"
|
|
tags: [ "data", "git" ]
|
|
---
|
|
|
|
## `http` Setup
|
|
|
|
In this example, the port used is `23231`, but it can be anything.
|
|
Open `/var/lib/soft-serve/data/config.yaml` and make sure the `http` section looks like this:
|
|
|
|
```
|
|
# The HTTP server configuration.
|
|
http:
|
|
# The address on which the HTTP server will listen.
|
|
listen_addr: ":23232"
|
|
|
|
# The path to the TLS private key.
|
|
tls_key_path: ""
|
|
|
|
# The path to the TLS certificate.
|
|
tls_cert_path: ""
|
|
|
|
# The public URL of the HTTP server.
|
|
# This is the address that will be used to clone repositories.
|
|
# Make sure to use https:// if you are using TLS.
|
|
public_url: "http://localhost:23232"
|
|
|
|
```
|
|
|
|
Restart the `soft-serve` service, then check it's working by cloning from localhost:
|
|
|
|
```bash
|
|
git clone http://localhost:23232/${some_repo}.git
|
|
```
|
|
|
|
## `https` Setup
|
|
|
|
Put this file at `/etc/nginx/sites-enabled/$DOMAIN.tld`, then set up standard certificates with [nginx](../networking/website/nginx.md).
|
|
|
|
(replace `${DOMAIN_NAME}` with your domain's name).
|
|
|
|
```
|
|
server {
|
|
listen 80;
|
|
server_name ${DOMAIN_NAME};
|
|
|
|
location / {
|
|
proxy_pass http://localhost:23232;
|
|
proxy_set_header Host $host;
|
|
proxy_set_header X-Real-IP $remote_addr;
|
|
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
|
|
}
|
|
|
|
return 301 https://$server_name$request_uri;
|
|
}
|
|
|
|
server {
|
|
listen 443 ssl;
|
|
server_name ${DOMAIN_NAME};
|
|
|
|
location / {
|
|
proxy_pass http://localhost:23232;
|
|
proxy_set_header Host $host;
|
|
proxy_set_header X-Real-IP $remote_addr;
|
|
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
|
|
}
|
|
}
|
|
|
|
```
|