А у вас в локальной сети работает веб-интерфейс nextcloud ?
И он отзываться на http://localhost:80 или http://local-IP:80
Тогда попробуйте настроить простенький proxy-server-nginx
Заходим на VPS в которой есть доступ в мир
Устанавливаем Nginx:
sudo apt update
sudo apt install nginx
После установки Nginx вы можете настроить брандмауэр, Nginx зарегистрируется ufw. Итак, вы можете разрешить необходимые порты и включить ufw:
sudo ufw allow OpenSSH
sudo ufw allow 'Nginx Full'
Убедитесь, что вы добавили правила для порта 22 SSH, если вы этого не сделали, вы не сможете получить доступ к SSH. После подтверждения вы можете включить UFW.
sudo ufw enable
Установите Certbot и его плагин Nginx с помощью apt:
sudo apt install certbot python3-certbot-nginx
Запускаем certbot:
sudo certbot --nginx -d yourdomainname.com
Переименуем default настройки Nginx и удалим simlink чтобы отключить страницу "Welcome nginx":
sudo mv /etc/nginx/sites-available/default /etc/nginx/sites-available/default_original
sudo rm -rf /etc/nginx/sites-enabled/default
Создаем новую конфигурацию для проксирования трафика в локальную сеть:
sudo vim /etc/nginx/sites-available/yourdomainname.com
server {
listen [::]:80;
listen 80;
server_name yourdomainname.com;
return 301 https://yourdomainname.com$request_uri;
}
server {
listen [::]:443 ssl;
listen 443 ssl;
server_name yourdomainname.com;
ssl_certificate /etc/letsencrypt/live/yourdomainname.com/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/yourdomainname.com/privkey.pem;
location / {
proxy_set_header Host $host:$server_port;
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;
proxy_pass http://127.0.0.1:80;
proxy_read_timeout 90;
proxy_redirect http://127.0.0.1:80 https://yourdomainname.com;
proxy_http_version 1.1;
proxy_request_buffering off;
add_header 'X-SSH-Endpoint' 'yourdomainname.com:50022' always;
}
}
Замените следующее:
127.0.0.1:80 - на свою локальною IP (10.175.139.12:80)
yourdomainname.com - на свое доменое имя
Создаем symlink чтобы включить эту конфигурацию:
ln /etc/nginx/sites-available/yourdomainname.com /etc/nginx/sites-enabled/yourdomainname.com
Далее проверьте синтаксис nginx и перезагрузите его:
sudo nginx -t
sudo systemctl restart nginx