Добавляем key auth для нашего API в kong

Posted in Новости on 16 марта, 2017 by admin

Тут мы создали свой API. Обращения к нему мы можем закрыть авторизацией BASIC , KEY , OAUTH , HMAC. В этой статье рассматриваем KEY AUTH.

1. Добавляем к созданному API плагин KEY AUTH

curl -X POST http://localhost:8001/apis/myapi/plugins --data "name=key-auth" --data "config.hide_credentials=true"

2. Проверяем, что плагин есть в списке плагинов к нашему API:

curl http://localhost:8001/apis/myapi/plugins

3. Создаем пользователя kong ( Consumer ) :

curl -d "username=user1" http://localhost:8001/consumers/

4. Создаем для пользователя kong ключ ( в ответе на команду будет key: ) :

curl -X POST http://localhost:8001/consumers/user1/key-auth -d ''

5. Передаем дополнительный хидер в запросе API :

curl -i --url http://localhost:8000/ --header 'Host: tresnet.ru' --header "apikey: ad56e164e959478bbbfc8f3a4e8c0e23"

Tags: , , ,

Добавляем basic auth для нашего API в kong

Posted in Новости on 16 марта, 2017 by admin

Тут мы создали свой API. Обращения к нему мы можем закрыть авторизацией BASIC , KEY , OAUTH , HMAC. В этой статье рассматриваем BASIC

1. Добавляем к созданному API плагин авторизации BASIC

curl -X POST http://localhost:8001/apis/myapi/plugins --data "name=basic-auth" --data "config.hide_credentials=true"

OUTPUT :

{"api_id":"772ba6dc-5d2e-4bbb-b600-03fe5f754094","id":"07f17354-c639-4d1d-a7d4-a70ab40b3ddb","created_at":1489654500000,"enabled":true,"name":"basic-auth","config":{"hide_credentials":true}}

2. Проверяем, что плагин есть в списке плагинов к нашему API:

curl http://localhost:8001/apis/myapi/plugins

3. Создаем пользователя kong ( Consumer ) :

curl -d "username=user1" http://localhost:8001/consumers/

4. Создаем для пользователя kong пару логин/пароль для basic auth :

curl -X POST http://localhost:8001/consumers/user1/basic-auth --data "username=testme" --data "password=testmetest"

5. Генерируем base64 строку для передачи авторизации через хидер :

perl -MMIME::Base64 -e 'print encode_base64("testme:testmetest")'

6. Передаем дополнительный хидер в запросе API :

curl -X POST http://localhost:8001/apis/ --data "name=myapi" --data 'upstream_url=http://tresnet.ru/' --data 'request_host=tresnet.ru' --header "Authorization: Basic dGVzdG1lOnRlc3RtZXRlc3Q="

7. Без авторизации получаем отлуп :

HTTP/1.1 401 Unauthorized
Date: Thu, 16 Mar 2017 09:04:55 GMT
Content-Type: application/json; charset=utf-8
Transfer-Encoding: chunked
Connection: keep-alive
WWW-Authenticate: Basic realm="kong"
Server: kong/0.9.6

{"message":"Unauthorized"}

Tags: , , ,

Создаем свой API в kong

Posted in Новости on 16 марта, 2017 by admin


curl -X POST http://localhost:8001/apis/ --data "name=myapi" --data 'upstream_url=http://tresnet.ru/' --data 'request_host=tresnet.ru'


name - уникальный идентификатор в kong ( может быть любым )
upstream_url - хост, на который будут передаваться запросы ( бекенд )
request_host - хост, с которым мы будем обращаться извне для доступа к upstream_url ( может быть любой, передается в хидере 'Host: example.com'

Tags: , ,

smtp pop3 docker за пять минут

Posted in Новости on 26 декабря, 2016 by admin

1. Создаем композ файл :

mail:
image: tvial/docker-mailserver:2.1
hostname: mail
domainname: domain.com
container_name: mail
ports:
- "25:25"
- "143:143"
- "587:587"
- "993:993"
volumes:
- /srv/docker/mail/maildata:/var/mail
- /srv/docker/mail/mailsstate:/var/mail-state
- /srv/docker/mail/config/:/tmp/docker-mailserver/
environment:
- ENABLE_SPAMASSASSIN=1
- ENABLE_CLAMAV=1
- ENABLE_FAIL2BAN=1
- ONE_DIR=1
- DMS_DEBUG=0

2. Создаем нужные нам каталоги для работы :

mkdir -p /srv/docker/mail/maildata
mkdir /srv/docker/mail/mailstate
mkdir /srv/docker/mail/config

3. Создаем нужные почтовые ящики ( можем с разными доменами ) :

docker run --rm -e MAIL_USER=noreply@mydomain.com -e MAIL_PASS=mypassword -ti tvial/docker-mailserver:latest /bin/sh -c 'echo "$MAIL_USER|$(doveadm pw -s SHA512-CRYPT -u $MAIL_USER -p $MAIL_PASS)"' >> /srv/docker/smtp/config/postfix-accounts.cf

4. Генерируем DKIM подписи :

docker run --rm -v "/srv/docker/mail/config":/tmp/docker-mailserver -ti tvial/docker-mailserver:latest generate-dkim-config

5. Запускаем контейнер и радуемся :

docker-compose -f docker-mail.yml up -d

Tags: , , , , , ,

docker «source: not found»

Posted in Новости on 11 мая, 2016 by admin

Для фикса нужно использовать :

RUN /bin/bash -c "source ...."

вместо :

RUN source ...

Tags: , ,