Как разместить Vue SPA и Golang Back на одном httpS сервере?

Для размещения Vue.js SPA (Single Page Application) и Golang Back (бэкенд на языке Go) на одном сервере с протоколом HTTPs, вам потребуется настроить два разных эндпоинта на сервере, по одному для каждого приложения.

Первым шагом будет настройка сервера. Вы можете использовать любой веб-сервер, поддерживающий протокол HTTPs, например Nginx или Apache. Установите и настройте выбранный вами веб-сервер, чтобы слушать соединения по протоколу HTTPs на нужном вам порту.

Далее вы должны настроить проксирование запросов на соответствующие приложения. Для этого вам понадобится настроить перенаправление запросов для каждого приложения.

Для Vue.js SPA вы можете использовать конфигурацию Nginx следующим образом:

server {
    listen 443;
    server_name your-domain.com;

    location /api/ {
        proxy_pass http://localhost:8000; // Проксирование запросов на ваш Golang Back
        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 / {
        root /path/to/vue-spa/dist; // Путь к скомпилированным файлам вашего Vue SPA
        try_files $uri $uri/ /index.html;
    }

    ssl_certificate /path/to/ssl/certificate.crt; // Путь к SSL-сертификату
    ssl_certificate_key /path/to/ssl/private.key; // Путь к приватному ключу SSL-сертификата
}

В этой конфигурации настройка location /api/ перенаправляет все запросы, начинающиеся с /api/, на ваш Golang Back, который работает на порту 8000 локальной машины. Корневой каталог для вашего Vue SPA задается с помощью root /path/to/vue-spa/dist.

Deпосле того, как вы настроите конфигурацию для вашего веб-сервера, перезапустите его, чтобы изменения вступили в силу.

Наконец, вам необходимо собрать и разместить ваше Vue SPA и бэкенд на сервере.

- Для сборки Vue SPA вам нужно выполнить команду npm run build из корневой директории проекта. Это создаст папку dist с файлами, которые вы можете разместить на сервере.
- Для размещения Golang Back вам нужно скомпилировать его в исполняемый файл и поместить его в нужное место на сервере.

После того, как вы разместили и настроили оба приложения, вы можете перейти по адресу https://your-domain.com и увидеть ваш Vue SPA, а также использовать эндпоинт /api/ для обращения к вашему Golang Back.

Надеюсь, что эта информация поможет вам разместить и запустить как Vue SPA, так и Golang Back на одном HTTPs сервере.