Golang и доступ к postgres через клиента в Ubuntu VPS? - PullRequest
0 голосов
/ 16 апреля 2019

Я пытаюсь следовать руководству по цифровому океану по настройке pgadmin4 в режиме сервера, но, черт возьми, это долго, и мне нужно сначала настроить сервер apache, python и virtualenv (с помощью двух других учебных пособий).

Я не хочу устанавливать так много зависимостей на моем сервере только для доступа к postgres через pgamin 4.

Как вы, ребята, делаете это?

Я запускаю веб-сервер go через httpsпрослушивание портов 443 и перенаправление с 80 на 443

Ответы [ 2 ]

1 голос
/ 17 апреля 2019

Видя ваш другой ответ, я хотел бы предложить более безопасную альтернативу.

Что не так с текущим подходом?

Ваш экземпляр PostgreSQL доступен из Интернета,Как правило, вы должны пытаться ограничить доступ только там, где это требуется.Особенно, если вы не используете SSL для подключения к PostgreSQL, такой открытый порт является целью для перехвата трафика и атак грубой силы.

Альтернатива

Видя, что выесли вы используете JetBrains IDE, вам нужен только один шаг для доступа к вашим данным - настройка SSH-туннеля.

Это шифрует с помощью SSH все ваши соединения между хостом разработки и сервером, не подвергая PostgreSQL внешнему миру.

В настройках соединения для вашей базы данных в Jetbrains IDE выберите вкладку SSH / SSL и «Использовать туннель SSH».Введите информацию о вашем сервере и пользователя SSH + пароль / ключ SSH (используйте ключи SSH для большей безопасности) в соответствующие поля ввода.

Отмените изменения настроек, которые вы сделали, чтобы открыть брандмауэр и настроить PostgreSQL для прослушивания.ко всем узлам.

Теперь подключение к вашей базе данных возможно через зашифрованные туннели, не подвергая вашу базу данных нежелательным атакам.

0 голосов
/ 16 апреля 2019

Итак, это то, что я сделал, чтобы установить соединение между моим ноутбуком и VPS-системой Ubuntu через веб-шторм (я полагаю, что все функции intellij также должны работать с другими IDE)

0 войдите на ваш сервер 1. Найдите postgresql.conf обычно под /etc/postgresql/10/main 2. sudo nano postgresql.conf 3. Найдите и измените линию на соединениях

    listen_addresses = '*'
  1. Затем в том же самом редакторе: sudo nano pg_hba.conf

    #TYPE  DATABASE        USER            ADDRESS                 METHOD
    host    all             all             0.0.0.0/0               md5
    

Md5 означает, что я соединяюсь с пользователем и его паролем

5 Не забудьте разрешить UFW (брандмауэр)

sudo ufw allow 5432/tcp
  1. Откройте веб-шторм> База данных (вкладка)> нажмите +, чтобы добавить исходный текст PostgtresSQL (введите соответствующую информацию, имя пользователя, пароль, имя базы данных, хост и порт и т. Д.) *

    jdbc:postgresql://example.com:5432/my_database_name
    
  2. Нажмите на схемы и синхронизируйте ИЛИ нажмите:

    Source > Settings > Schemas tab > [check] All Databases > refresh       
    
...