mtls
CRITICAL MDX RULE — JSX attribute quoting. Inside a JSX tag every attribute value MUST be wrapped in double quotes (attr="value"), never in single quotes, even if the original used single quotes. Translated prose frequently contains apostrophes (French "d'acceder", "l'entite"; Italian "dell'utente"), and an apostrophe inside a single-quoted attribute breaks MDX compilation. If an attribute value itself contains a double-quote character, replace that character with the HTML entity ". Never rename attributes and never alter the tag structure: --- sidebar_position: 3
Tokenlar ve mTLS kullanarak Platform OneEntry için mTLS sertifikasını ayarlama ve yapılandırma, ayrıca uygulamayı Nginx, Docker ve GitLab ile bir sunucuya dağıtma
Bölüm 1: mTLS Ayarlama
API'yi Koruma
- Token Kullanarak: OneEntry ayarlarında bir token oluşturun ve bunu 'x-app-token' parametresi ile istek başlıklarına ekleyin, burada değer token'dır.
- mTLS Kullanarak: OneEntry kontrol panelinizde mTLS seçeneğini etkinleştirin ve OneEntry ayarlarında sertifikayı oluşturun.
Sertifikayı Ayarlama
bilgi
'mTLS' projesi için etkinleştirildiğinde OneEntry ayarlarında 'Uygulama Sertifikaları' sekmesi görünür. mTLS kapalıyken, ayarlar 'Uygulama tokenları' sekmesini gösterir.
- Kontrol panelinizde 'Erişim' sekmesine gidin ve token'dan mTLS'ye geçin.
- OneEntry'de yeni bir sertifika oluşturun: 'Ayarlar' -> 'Uygulama Sertifikaları'na gidin, 'Uygulama adı' alanına ismi girin ve 'Oluştur' butonuna tıklayın.
- Sertifikayı bilgisayarınıza indirin ve projenizin kökündeki 'cert' klasörüne çıkarın.
Yerel Ortamı Ayarlama (ReactJS örneği kullanarak)
- setupProxy.js dosyasını indirin ve 'src' klasörüne kaydedin.
- 'target' parametresini düzenleyin, projenizin adresini belirtin.
- 'http-proxy-middleware' paketini yükleyin: 'npm install http-proxy-middleware'.
- Uygulamayı başlatın.
Bölüm 2: Sunucu Yapılandırması
Sunucuyu Hazırlama
- Depo bilgilerini güncelleyin: `apt update`.
- Docker deposunu ekleyin ve paketleri yükleyin: `apt install nginx certbot docker-ce pwgen`.
UFW Yapılandırması
- Tüm gelen bağlantıları engelleyin: `ufw default deny incoming`.
- Tüm giden bağlantılara izin verin: `ufw default allow outgoing`.
- 22, 80 ve 443 numaralı portlarda gelen TCP bağlantılarına izin verin: `ufw allow 22,80,443/tcp`.
SSH Yapılandırması
- SSH daemon yapılandırmasını düzenleyin: `nano /etc/ssh/sshd_config`.
- `PasswordAuthentication no` ayarını yapın.
- SSH daemon'u yeniden başlatın: `systemctl restart ssh`.
Nginx Yapılandırması
- Varsayılan yapılandırma dosyasını kaldırın: `rm /etc/nginx/sites-available/default`
- Yeni bir yapılandırma dosyası oluşturun: `nano /etc/nginx/sites-available/my_app`.
- OneEntry'den Nginx yapılandırmasını indirin ve "your_domain.com" kısmını kendi alan adınızla değiştirin.
- Ardından şu komutu çalıştırın: ‘ln -s /etc/nginx/sites-available/my_app /etc/nginx/sites-enabled', "my_app" kısmını yapılandırma dosyanızın adıyla değiştirin.
- Certbot kullanarak SSL sertifikaları oluşturun: `certbot certonly --webroot -w /var/www/html -d your_domain`
- Otomatik sertifika yenilemesini kontrol edin: `certbot renew --dry-run`.
- Sertifikalar verildikten sonra Nginx yapılandırmasını otomatik olarak yeniden yüklemek için Certbot cron görevini düzenleyin: ‘nano /etc/cron.d/certbot', son satırı şu şekilde değiştirin: `echo "0 */12 * * * root certbot -q renew && nginx -s reload" > /etc/cron.d/certbot`
- 'nano /etc/nginx/sites-available/my_app' yapılandırma dosyasındaki satırları yorumdan çıkarın (burada 'my_app' yapılandırma dosyanızın adıdır).
- Nginx yapılandırmasını kontrol edin: `nginx -t`
- Her değişiklikten sonra Nginx'i yeniden yükleyin: `nginx -s reload`.
Bölüm 3: Uygulamayı GitLab ve GitHub ile Dağıtma
GitHub
GitHub Runner için yeni bir kullanıcı oluşturma
- Bir şifre oluşturun: 'pwgen -s 15 1'
- Yeni bir kullan ıcı oluşturun: 'useradd -m github-runner'
- Bunun için bir şifre belirleyin: 'passwd github-runner'
- Yeni kullanıcıyı gruplara ekleyin: 'usermod -aG docker github-runner' ve 'usermod -aG sudo github-runner'.
- GitHub Runner kullanıcısının shell'ini değiştirin: 'chsh -s /bin/bash github-runner'
- Yeni kullanıcıya geçin: 'sudo su - gitlab-runner'.
GitHub Runner'ı Yapılandırma
- Bir GitHub Runner oluşturun: depo ayarlarınıza gidin, 'Actions' sekmesine tıklayın ve 'Runners'ı seçin, ardından 'Yeni kendi barındırdığınız runner' butonuna tıklayın.
- 'İndir' bloğundaki talimatları ve 'Yapılandır' bloğundaki ilk komutu izleyin.
- Runner'ı sistem başlangıcına ekleyin: 'sudo ./svc.sh install'. Önceden oluşturduğunuz şifreyi girmeniz gerekecek.
- Runner'ı başlatın: 'sudo ./svc.sh start'.
- 'Actions' bölümüne gidin, 'Runners'ı tıklayın ve 'Runner'ın çalıştığından emin olun.
- 'root' kullanıcısına geri dönün.
- Çalışma dizini oluşturun: 'mkdir -p /var/apps/frontend'
- 'github-runner' kullanıcısı için izinleri ayarlayın: 'chown -R github-runner:docker /var/apps/frontend'.