Решил ограничить доступ к NextCloud за пределами организации. А именно:
- Всем дать возможность скачать файл
- На страницу входа доступ только после предавторизации
- Для Let's Encrypt изменить root. Сервер nginx отдельная тачка, сертификаты генерируем на нем и рассылаем сервисам
- Остальным - 404
Если есть комментарии/критика, можем обсудить в комментариях
В итоге получились такие конфиги
/etc/nginx/sites-available/cloud.domain.ru:
server {
listen 80;
server_name www.nxtcloud.domain.ru nxtcloud.domain.ru;
return 301 $scheme://cloud.domain.ru$request_uri;
listen 443 ssl; # managed by Certbot
ssl_certificate /etc/letsencrypt/live/nxtcloud.domain.ru/fullchain.pem; # managed by Certbot
ssl_certificate_key /etc/letsencrypt/live/nxtcloud.domain.ru/privkey.pem; # managed by Certbot
include /etc/letsencrypt/options-ssl-nginx.conf; # managed by Certbot
ssl_dhparam /etc/letsencrypt/ssl-dhparams.pem; # managed by Certbot
}
server {
listen 80;
server_name cloud.domain.ru www.cloud.domain.ru;
access_log /var/log/nginx/cloud.domain.ru.access.log;
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;
location /.well-know {
root /var/www/html;
}
location ~ ^/(index.php/(s|apps|csrftoken|js|css)|apps|core|public.php|ocs) {
proxy_pass https://cloud.domain.ru;
proxy_read_timeout 90;
}
location /index.php/login {
auth_basic "Administrator’s Area";
auth_basic_user_file /etc/nginx/.htpasswd;
proxy_pass https://cloud.domain.ru;
proxy_read_timeout 90;
}
location / {
return 404;
}
listen 443 ssl; # managed by Certbot
ssl_certificate /etc/letsencrypt/live/cloud.domain.ru/fullchain.pem; # managed by Certbot
ssl_certificate_key /etc/letsencrypt/live/cloud.domain.ru/privkey.pem; # managed by Certbot
include /etc/letsencrypt/options-ssl-nginx.conf; # managed by Certbot
ssl_dhparam /etc/letsencrypt/ssl-dhparams.pem; # managed by Certbot
}
Комментариев нет:
Отправить комментарий