Docker run i̇le ssl serti̇fi̇kali keycloak kurma

Collapse
X
 
  • Time
  • Show
Clear All
new posts
  • MyrinNew
    Senior Member
    • Feb 2024
    • 5175

    #1

    Docker run i̇le ssl serti̇fi̇kali keycloak kurma

    bu kurulum için bir domain adına ihtiyacımız var benim senaryomda keycloak.local olarak ilerleyeceğim.


    1. Adım: Host makinemde, yani browserımla keycloak'a erişeceğim makinede /etc/hosts dosyasını nano ile açıp en alta şunu ekleyelim:

    keycloak.local


    2. Adım: Nginx kurulumu






    sudo apt update
    sudo apt install nginx








    3. Adım: SSL sertifikası oluşturma

    önce sertifikayı koyacak dosya oluşturalım.






    sudo mkdir -p /etc/ssl/certs/keycloak







    openssl ile sertifika oluşturalım






    sudo openssl req -x509 -nodes -days 365 -newkey rsa:2048 \
    -keyout /etc/ssl/certs/keycloak/keycloak.key \
    -out /etc/ssl/certs/keycloak/keycloak.crt \
    -subj "/CN=keycloak.local"








    4. Adım: Nginx yapılandırma


    Yeni yapılandırma dosyası oluşturalım






    sudo nano /etc/nginx/sites-available/keycloak.conf








    aşağıdaki içeriği dosyanın içine yapıştıralım






    server {
    listen 80;
    server_name keycloak.local;
    # HTTP'den HTTPS'e yönlendir
    return 301 https://$host$request_uri;
    }

    server {
    listen 443 ssl;
    server_name keycloak.local;

    # SSL Sertifikalarının yolu
    ssl_certificate /etc/ssl/certs/keycloak/keycloak.crt;
    ssl_certificate_key /etc/ssl/certs/keycloak/keycloak.key;

    location / {
    # İsteği, Docker'da çalışan Keycloak'a yönlendir
    proxy_pass http://127.0.0.1:8080;

    # Gerekli HTTP başlıklarını ayarla
    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;
    }
    }








    5. Adım: Yapılandırmayı aktive etme ve nginx'i yeniden başlatma






    sudo ln -s /etc/nginx/sites-available/keycloak.conf /etc/nginx/sites-enabled/








    Nginx'in varsayılan "Welcome" sayfasını devre dışı bırakalım (çakışmasın):






    sudo rm /etc/nginx/sites-enabled/default







    test edelim






    sudo nginx -t








    restart edelim






    sudo systemctl restart nginx








    6. Adım: Keycloak'ı kurma ve yapılandırma
    • Öncelikle Docker kurmamız lazım.




    # Add Docker's official GPG key:
    sudo apt-get update
    sudo apt-get install ca-certificates curl
    sudo install -m 0755 -d /etc/apt/keyrings
    sudo curl -fsSL https://download.docker.com/linux/ubuntu/gpg -o /etc/apt/keyrings/docker.asc
    sudo chmod a+r /etc/apt/keyrings/docker.asc

    # Add the repository to Apt sources:
    echo \
    "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.asc] https://download.docker.com/linux/ubuntu \
    $(. /etc/os-release && echo "${UBUNTU_CODENAME:-$VERSION_CODENAME}") stable" | \
    sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
    sudo apt-get update







    kurulumu başlatalım






    sudo apt-get install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin







    servis kontrolü yapmak istersek bu komutu çalıştıralım






    sudo systemctl status docker
    • Keycloak'ı docker run komutu ile kuralım. Burada kullanıcı adı şifre ve hostname verilir.




    sudo docker run -d \
    -p 8080:8080 \
    -e KEYCLOAK_ADMIN=admin \
    -e KEYCLOAK_ADMIN_PASSWORD=admin \
    -e KC_PROXY_HEADERS=xforwarded \
    -e KC_HOSTNAME=keycloak.local \
    quay.io/keycloak/keycloak:latest \
    start-dev









    sudo docker ps ile kontrol yapılabilir.


    son olarak https://keycloak.local adresinden admin admin ile giriş yapalım.







    More...
Working...