Files
HomeServerServices/proxy/nginx/conf.d/default.conf.example

115 lines
3.5 KiB
Plaintext
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 1. Редирект с HTTP на HTTPS (для всех доменов сразу)
server {
listen 80 default_server;
listen [::]:80 default_server;
server_name domain.ru www.domain.ru git.domain.ru disk.domain.ru matrix.domain.ru chat.domain.ru;
location /.well-known/acme-challenge/ {
root /var/www/certbot;
}
location / {
return 301 https://$host$request_uri;
}
}
# 2. Основной сайт и WWW
server {
listen 443 ssl;
server_name domain.ru www.domain.ru;
# Используем один сертификат, если он мультидоменный (Certbot обычно делает один на домен + www)
# Если сертификаты разные, лучше объединить их через Certbot (флаг -d домен1 -d домен2)
ssl_certificate /etc/letsencrypt/live/domain.ru/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/domain.ru/privkey.pem;
location / {
charset utf-8;
default_type text/plain;
return 200 "Hello world!";
}
}
# 3. Gitea
server {
listen 443 ssl;
server_name git.domain.ru;
ssl_certificate /etc/letsencrypt/live/git.domain.ru/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/git.domain.ru/privkey.pem;
location / {
proxy_pass http://gitea:3000;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
}
}
# 4. Cloud
server {
listen 443 ssl;
server_name disk.domain.ru;
ssl_certificate /etc/letsencrypt/live/disk.domain.ru/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/disk.domain.ru/privkey.pem;
client_max_body_size 0;
location / {
proxy_pass http://filebrowser;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
}
}
# 4. Matrix
server {
listen 443 ssl;
server_name matrix.domain.ru;
ssl_certificate /etc/letsencrypt/live/matrix.domain.ru/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/matrix.domain.ru/privkey.pem;
location / {
proxy_pass http://matrix-synapse:8008;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
client_max_body_size 50M;
}
#location /.well-known/matrix/server {
# return 200 '{"m.server": "matrix.domain.ru:443"}';
# add_header Content-Type application/json;
#}
#location /.well-known/matrix/client {
# return 200 '{"m.homeserver": {"base_url": "https://matrix.domain.ru"}}';
# add_header Content-Type application/json;
# add_header Access-Control-Allow-Origin *;
#}
}
server {
listen 443 ssl;
server_name chat.domain.ru;
ssl_certificate /etc/letsencrypt/live/chat.domain.ru/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/chat.domain.ru/privkey.pem;
location / {
proxy_pass http://matrix-element;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
client_max_body_size 50M;
}
}