{"id":34239,"date":"2025-11-13T14:41:05","date_gmt":"2025-11-13T11:41:05","guid":{"rendered":"https:\/\/fatihsoysal.com\/blog\/?p=34239"},"modified":"2025-11-13T14:41:05","modified_gmt":"2025-11-13T11:41:05","slug":"tomcat-8-baglantilarini-apache-veya-nginx-ile-sifreleme-ubuntu-16-04-uzerinde-kapsamli-bir-rehber","status":"publish","type":"post","link":"https:\/\/fatihsoysal.com\/blog\/tomcat-8-baglantilarini-apache-veya-nginx-ile-sifreleme-ubuntu-16-04-uzerinde-kapsamli-bir-rehber\/","title":{"rendered":"Tomcat 8 Ba\u011flant\u0131lar\u0131n\u0131 Apache veya Nginx ile \u015eifreleme: Ubuntu 16.04 \u00dczerinde Kapsaml\u0131 Bir Rehber"},"content":{"rendered":"<p><body><\/p>\n<h2>Tomcat 8 Ba\u011flant\u0131lar\u0131n\u0131 Apache veya Nginx ile \u015eifreleme: Ubuntu 16.04 \u00dczerinde Kapsaml\u0131 Bir Rehber<\/h2>\n<h2>Giri\u015f<\/h2>\n<p>G\u00fcn\u00fcm\u00fcz\u00fcn dijital d\u00fcnyas\u0131nda, web uygulamalar\u0131n\u0131n g\u00fcvenli\u011fi her zamankinden daha kritik bir \u00f6neme sahiptir. Kullan\u0131c\u0131 verilerinin korunmas\u0131, veri b\u00fct\u00fcnl\u00fc\u011f\u00fcn\u00fcn sa\u011flanmas\u0131 ve yasal d\u00fczenlemelere uyum, \u015fifreli ba\u011flant\u0131lar\u0131 bir l\u00fcks olmaktan \u00e7\u0131kar\u0131p bir zorunluluk haline getirmi\u015ftir. Apache Tomcat, Java tabanl\u0131 web uygulamalar\u0131 i\u00e7in yayg\u0131n olarak kullan\u0131lan g\u00fc\u00e7l\u00fc bir uygulama sunucusudur. Ancak Tomcat&#8217;i do\u011frudan internete a\u00e7\u0131k bir \u015fekilde \u00e7al\u0131\u015ft\u0131rmak, g\u00fcvenlik risklerini beraberinde getirebilir. Bu nedenle, Tomcat&#8217;in \u00f6n\u00fcnde bir ters proxy (reverse proxy) g\u00f6revi g\u00f6recek Apache HTTP Sunucusu veya Nginx gibi pop\u00fcler web sunucular\u0131 kullanmak, hem performans\u0131 art\u0131rmak hem de g\u00fcvenlik katmanlar\u0131 eklemek i\u00e7in yayg\u0131n bir uygulamad\u0131r.<\/p>\n<p>Bu makale, Ubuntu 16.04 i\u015fletim sistemi \u00fczerinde \u00e7al\u0131\u015fan bir Tomcat 8 uygulamas\u0131n\u0131n ba\u011flant\u0131lar\u0131n\u0131 Apache veya Nginx kullanarak nas\u0131l \u015fifreleyece\u011finizi ayr\u0131nt\u0131l\u0131 bir \u015fekilde a\u00e7\u0131klamaktad\u0131r. Ubuntu 16.04, eski bir s\u00fcr\u00fcm olmas\u0131na ra\u011fmen, hala bir\u00e7ok \u00fcretim ortam\u0131nda kullan\u0131lmaktad\u0131r ve bu rehber, bu t\u00fcr sistemler i\u00e7in de\u011ferli bir kaynak olacakt\u0131r. Let&#8217;s Encrypt gibi \u00fccretsiz ve otomatik sertifika sa\u011flayan servisler sayesinde HTTPS (Hypertext Transfer Protocol Secure) uygulamak art\u0131k \u00e7ok daha kolay ve eri\u015filebilirdir. Bu rehberde, SSL\/TLS sertifikas\u0131 edinme, Tomcat&#8217;i ters proxy arkas\u0131nda \u00e7al\u0131\u015facak \u015fekilde yap\u0131land\u0131rma ve Apache veya Nginx&#8217;i bu sertifikalarla birlikte Tomcat trafi\u011fini \u015fifrelemek \u00fczere yap\u0131land\u0131rma ad\u0131mlar\u0131 ad\u0131m ad\u0131m ele al\u0131nacakt\u0131r. Amac\u0131m\u0131z, uygulaman\u0131z\u0131n g\u00fcvenli\u011fini art\u0131rmak ve kullan\u0131c\u0131lar\u0131n\u0131za g\u00fcvenli bir deneyim sunmakt\u0131r.<\/p>\n<h2>\u00d6n Ko\u015fullar<\/h2>\n<p>Bu rehbere ba\u015flamadan \u00f6nce a\u015fa\u011f\u0131daki \u00f6n ko\u015fullar\u0131n yerine getirilmi\u015f olmas\u0131 gerekmektedir:<\/p>\n<h3>Ubuntu 16.04 Sunucusu<\/h3>\n<p>*   SSH eri\u015fimi olan ve <code>sudo<\/code> yetkilerine sahip bir kullan\u0131c\u0131ya sahip, temiz bir Ubuntu 16.04 sunucusu.<\/p>\n<h3>Tomcat 8 Kurulumu<\/h3>\n<p>*   Sunucunuzda Apache Tomcat 8&#8217;in kurulu ve \u00e7al\u0131\u015f\u0131r durumda olmas\u0131 gerekmektedir. Tomcat&#8217;in varsay\u0131lan HTTP portu (genellikle 8080) \u00fczerinden eri\u015filebilir oldu\u011fundan emin olun.<br \/>\n*   Tomcat&#8217;in kurulumu hakk\u0131nda bilgiye ihtiyac\u0131n\u0131z varsa, ilgili Tomcat dok\u00fcmantasyonuna ba\u015fvurabilirsiniz. Genellikle <code>apt-get install tomcat8<\/code> komutu ile veya Tomcat web sitesinden indirilerek manuel kurulum yap\u0131labilir.<\/p>\n<h3>Alan Ad\u0131 ve DNS Yap\u0131land\u0131rmas\u0131<\/h3>\n<p>*   Uygulaman\u0131z i\u00e7in bir alan ad\u0131na (\u00f6rne\u011fin, <code>uygulama.alanadiniz.com<\/code>) sahip olman\u0131z ve bu alan ad\u0131n\u0131n DNS kay\u0131tlar\u0131n\u0131n sunucunuzun IP adresine i\u015faret etti\u011finden emin olman\u0131z gerekmektedir. Bu, SSL sertifikas\u0131 al\u0131m\u0131 i\u00e7in zorunludur.<\/p>\n<h3>Gerekli Paketler<\/h3>\n<p>*   Apache veya Nginx hen\u00fcz kurulu de\u011filse, kurulum ad\u0131mlar\u0131 rehberde belirtilecektir.<br \/>\n*   <code>curl<\/code>, <code>wget<\/code>, <code>nano<\/code> veya <code>vim<\/code> gibi temel komut sat\u0131r\u0131 ara\u00e7lar\u0131n\u0131n y\u00fckl\u00fc olmas\u0131 faydal\u0131 olacakt\u0131r.<\/p>\n<p>Bu \u00f6n ko\u015fullar tamamland\u0131\u011f\u0131nda, Tomcat ba\u011flant\u0131lar\u0131n\u0131 g\u00fcvenli hale getirme s\u00fcrecine ba\u015flayabiliriz.<\/p>\n<h2>Tomcat 8 Yap\u0131land\u0131rmas\u0131<\/h2>\n<p>Tomcat&#8217;i bir ters proxy arkas\u0131nda \u00e7al\u0131\u015ft\u0131rmak i\u00e7in genellikle do\u011frudan HTTPS yap\u0131land\u0131rmas\u0131na gerek yoktur. Ters proxy (Apache veya Nginx) SSL sonland\u0131rmas\u0131n\u0131 yapacak ve \u015fifrelenmi\u015f trafi\u011fi \u015fifresiz (HTTP) veya AJP (Apache JServ Protocol) \u00fczerinden Tomcat&#8217;e iletecektir. Bu yakla\u015f\u0131m, Tomcat&#8217;in y\u00fck\u00fcn\u00fc azalt\u0131r ve SSL y\u00f6netimini merkezi hale getirir.<\/p>\n<h3>Tomcat&#8217;i HTTP veya AJP i\u00e7in Yap\u0131land\u0131rma<\/h3>\n<p>Tomcat&#8217;in yap\u0131land\u0131rma dosyas\u0131 <code>server.xml<\/code> genellikle <code>\/etc\/tomcat8\/server.xml<\/code> veya Tomcat kurulum dizininin <code>conf\/server.xml<\/code> yolunda bulunur. Bu dosyay\u0131 d\u00fczenleyerek Tomcat&#8217;i ters proxy ile ileti\u015fim kuracak \u015fekilde ayarlayaca\u011f\u0131z.<\/p>\n<pre><code class=\"language-xml\">sudo nano \/etc\/tomcat8\/server.xml<\/code><\/pre>\n<p>A\u015fa\u011f\u0131daki <code>Connector<\/code> tan\u0131mlar\u0131n\u0131n mevcut oldu\u011fundan ve do\u011fru yap\u0131land\u0131r\u0131ld\u0131\u011f\u0131ndan emin olun:<\/p>\n<p>1.  <strong>HTTP Connector (Port 8080):<\/strong><br \/>\n    Bu konekt\u00f6r, Tomcat&#8217;in HTTP trafi\u011fini dinlemesini sa\u011flar. Ters proxy&#8217;niz HTTP \u00fczerinden Tomcat ile ileti\u015fim kuracaksa bu gereklidir.<\/p>\n<pre><code class=\"language-xml\"><Connector port=\"8080\" protocol=\"HTTP\/1.1\"\n               connectionTimeout=\"20000\"\n               redirectPort=\"8443\" \/><\/code><\/pre>\n<p>    Bu konekt\u00f6r\u00fcn varsay\u0131lan haliyle b\u0131rak\u0131lmas\u0131 genellikle yeterlidir. <code>redirectPort=\"8443\"<\/code> ayar\u0131, Tomcat&#8217;in \u015fifresiz HTTP iste\u011fi ald\u0131\u011f\u0131nda, <code>secure=\"true\"<\/code> olarak i\u015faretlenmi\u015f bir sayfaya y\u00f6nlendirme yapmas\u0131 gerekti\u011finde bu portu kullanmas\u0131n\u0131 sa\u011flar.<\/p>\n<p>2.  <strong>AJP Connector (Port 8009):<\/strong><br \/>\n    AJP (Apache JServ Protocol), Apache HTTP Sunucusu ile Tomcat aras\u0131nda daha verimli bir ileti\u015fim sa\u011flar. E\u011fer Apache&#8217;yi ters proxy olarak kullanacaksan\u0131z, bu konekt\u00f6r\u00fc etkinle\u015ftirmeniz \u00f6nerilir.<\/p>\n<pre><code class=\"language-xml\"><Connector port=\"8009\" protocol=\"AJP\/1.3\" redirectPort=\"8443\" secretRequired=\"true\" secret=\"YOUR_AJP_SECRET_KEY\" \/><\/code><\/pre>\n<p>    *   <code>secretRequired=\"true\"<\/code> ve <code>secret=\"YOUR_AJP_SECRET_KEY\"<\/code>: Bu ayarlar, AJP konekt\u00f6r\u00fcn\u00fcn g\u00fcvenli\u011fini art\u0131rmak i\u00e7in kritik \u00f6neme sahiptir. <code>YOUR_AJP_SECRET_KEY<\/code> yerine g\u00fc\u00e7l\u00fc, benzersiz bir parola belirleyin. Bu parola, Apache yap\u0131land\u0131rman\u0131zda da belirtilmelidir. Bu sayede sadece do\u011fru anahtara sahip Apache sunucusu Tomcat ile AJP \u00fczerinden ileti\u015fim kurabilir.<br \/>\n    *   E\u011fer <code>secretRequired<\/code> yerine <code>address=\"127.0.0.1\"<\/code> gibi bir ayar kullan\u0131larak sadece yerel ba\u011flant\u0131lara izin verilirse, bu da bir g\u00fcvenlik katman\u0131 sa\u011flar. Ancak <code>secret<\/code> kullan\u0131m\u0131 daha g\u00fc\u00e7l\u00fc bir g\u00fcvenlik sa\u011flar.<\/p>\n<p>Yap\u0131land\u0131rma dosyas\u0131n\u0131 kaydettikten sonra Tomcat&#8217;i yeniden ba\u015flat\u0131n:<\/p>\n<pre><code class=\"language-bash\">sudo systemctl restart tomcat8\nsudo systemctl status tomcat8<\/code><\/pre>\n<p>Tomcat&#8217;in do\u011fru \u015fekilde \u00e7al\u0131\u015ft\u0131\u011f\u0131ndan emin olun.<\/p>\n<h3>Tomcat&#8217;i HTTPS i\u00e7in Do\u011frudan Yap\u0131land\u0131rma (Tavsiye Edilmez)<\/h3>\n<p>Baz\u0131 durumlarda Tomcat&#8217;i do\u011frudan HTTPS i\u00e7in yap\u0131land\u0131rmak isteyebilirsiniz (\u00f6rne\u011fin, ters proxy kullanmadan veya ters proxy&#8217;nin Tomcat ile \u015fifreli ileti\u015fim kurmas\u0131n\u0131 isterseniz). Ancak genel olarak, bu makalede ele al\u0131nan ters proxy yakla\u015f\u0131m\u0131 tercih edilir.<\/p>\n<p>E\u011fer yine de Tomcat&#8217;i HTTPS i\u00e7in do\u011frudan yap\u0131land\u0131rman\u0131z gerekirse:<br \/>\n1.  <strong>Keystore Olu\u015fturma:<\/strong> Java Keytool kullanarak bir anahtar deposu (keystore) olu\u015fturman\u0131z gerekir.<\/p>\n<pre><code class=\"language-bash\">sudo keytool -genkey -alias tomcat -keyalg RSA -keystore \/etc\/tomcat8\/conf\/keystore.jks -keysize 2048<\/code><\/pre>\n<p>    Bu komut, sizden bir parola ve sertifika bilgileri isteyecektir. Parolay\u0131 unutmay\u0131n.<br \/>\n2.  <strong>Sertifika \u0130mzalama \u0130ste\u011fi (CSR) Olu\u015fturma:<\/strong><\/p>\n<pre><code class=\"language-bash\">sudo keytool -certreq -alias tomcat -file \/tmp\/certreq.csr -keystore \/etc\/tomcat8\/conf\/keystore.jks<\/code><\/pre>\n<p>    Bu CSR dosyas\u0131n\u0131 bir sertifika yetkilisine (CA) g\u00f6ndererek imzal\u0131 bir sertifika alman\u0131z gerekir.<br \/>\n3.  <strong>\u0130mzal\u0131 Sertifikay\u0131 Keystore&#8217;a Aktarma:<\/strong> CA&#8217;dan ald\u0131\u011f\u0131n\u0131z sertifikay\u0131 (genellikle <code>.crt<\/code> veya <code>.cer<\/code> uzant\u0131l\u0131) ve varsa CA zincirini (chain certificate) keystore&#8217;a aktar\u0131n.<\/p>\n<pre><code class=\"language-bash\">sudo keytool -import -trustcacerts -alias root -file \/path\/to\/root.crt -keystore \/etc\/tomcat8\/conf\/keystore.jks\n    sudo keytool -import -trustcacerts -alias intermediate -file \/path\/to\/intermediate.crt -keystore \/etc\/tomcat8\/conf\/keystore.jks\n    sudo keytool -import -alias tomcat -file \/path\/to\/your_domain.crt -keystore \/etc\/tomcat8\/conf\/keystore.jks<\/code><\/pre>\n<p>4.  <strong><code>server.xml<\/code> i\u00e7inde HTTPS Connector&#8217;\u0131 Etkinle\u015ftirme:<\/strong><br \/>\n    <code>server.xml<\/code> dosyas\u0131nda a\u015fa\u011f\u0131daki gibi bir HTTPS konekt\u00f6r\u00fcn\u00fc etkinle\u015ftirin ve keystore bilgilerini girin:<\/p>\n<pre><code class=\"language-xml\"><Connector port=\"8443\" protocol=\"org.apache.coyote.http11.Http11NioProtocol\"\n               maxThreads=\"150\" SSLEnabled=\"true\" scheme=\"https\" secure=\"true\"\n               clientAuth=\"false\" sslProtocol=\"TLS\"\n               keystoreFile=\"\/etc\/tomcat8\/conf\/keystore.jks\" keystorePass=\"YOUR_KEYSTORE_PASSWORD\" \/><\/code><\/pre>\n<p>    Bu ad\u0131mlar, Tomcat&#8217;i do\u011frudan HTTPS i\u00e7in yap\u0131land\u0131rmak i\u00e7indir. Ancak bu makalenin ana oda\u011f\u0131 ters proxy \u00fczerinden \u015fifrelemedir.<\/p>\n<h2>SSL Sertifikas\u0131 Edinme ve Y\u00f6netimi<\/h2>\n<p>Web sitenizin g\u00fcvenli\u011fini sa\u011flaman\u0131n temel ad\u0131m\u0131, g\u00fcvenilir bir SSL\/TLS sertifikas\u0131 edinmektir. Bu b\u00f6l\u00fcmde, \u00fccretsiz ve otomatik bir sertifika sa\u011flay\u0131c\u0131s\u0131 olan Let&#8217;s Encrypt ile sertifika almay\u0131 ve y\u00f6netmeyi ele alaca\u011f\u0131z.<\/p>\n<h3>Let&#8217;s Encrypt ile Sertifika Alma (\u00d6nerilen Y\u00f6ntem)<\/h3>\n<p>Let&#8217;s Encrypt, Certbot arac\u0131 arac\u0131l\u0131\u011f\u0131yla \u00fccretsiz SSL\/TLS sertifikalar\u0131 sa\u011flar ve sertifika y\u00f6netimini b\u00fcy\u00fck \u00f6l\u00e7\u00fcde basitle\u015ftirir.<\/p>\n<p>1.  <strong>Certbot Kurulumu:<\/strong><br \/>\n    Ubuntu 16.04 i\u00e7in Certbot&#8217;u y\u00fcklemenin en kolay yolu, Certbot PPA&#8217;s\u0131n\u0131 eklemektir.<\/p>\n<pre><code class=\"language-bash\">sudo apt-get update\n    sudo apt-get install software-properties-common\n    sudo add-apt-repository ppa:certbot\/certbot -y\n    sudo apt-get update\n    sudo apt-get install certbot -y<\/code><\/pre>\n<p>    E\u011fer Apache veya Nginx&#8217;i hemen kurup Certbot&#8217;un otomatik yap\u0131land\u0131rma \u00f6zelli\u011fini kullanacaksan\u0131z, <code>python-certbot-apache<\/code> veya <code>python-certbot-nginx<\/code> paketlerini de y\u00fcklemeniz gerekebilir:<\/p>\n<pre><code class=\"language-bash\"># Apache i\u00e7in:\n    sudo apt-get install python-certbot-apache -y\n    # Nginx i\u00e7in:\n    sudo apt-get install python-certbot-nginx -y<\/code><\/pre>\n<p>2.  <strong>Sertifika Alma:<\/strong><br \/>\n    Certbot, farkl\u0131 kimlik do\u011frulama y\u00f6ntemleri sunar. Biz burada web sunucunuzun (Apache veya Nginx) zaten \u00e7al\u0131\u015f\u0131r durumda oldu\u011funu ve alan ad\u0131n\u0131z\u0131n bu sunucuya y\u00f6nlendirilmi\u015f oldu\u011funu varsayaca\u011f\u0131z.<\/p>\n<p>    *   <strong>Apache ile Certbot:<\/strong><br \/>\n        E\u011fer Apache&#8217;yi ters proxy olarak kullanacaksan\u0131z ve Apache&#8217;nin otomatik yap\u0131land\u0131rma \u00f6zelli\u011fini kullanmak isterseniz:<\/p>\n<pre><code class=\"language-bash\">sudo certbot --apache -d uygulama.alanadiniz.com -d www.uygulama.alanadiniz.com<\/code><\/pre>\n<p>        Certbot, Apache yap\u0131land\u0131rman\u0131z\u0131 otomatik olarak alg\u0131layacak, bir sanal host olu\u015fturacak\/d\u00fczenleyecek ve sertifikay\u0131 kuracakt\u0131r. Ayr\u0131ca HTTP&#8217;den HTTPS&#8217;ye y\u00f6nlendirme (redirect) ayarlamay\u0131 da teklif edebilir.<\/p>\n<p>    *   <strong>Nginx ile Certbot:<\/strong><br \/>\n        E\u011fer Nginx&#8217;i ters proxy olarak kullanacaksan\u0131z ve Nginx&#8217;in otomatik yap\u0131land\u0131rma \u00f6zelli\u011fini kullanmak isterseniz:<\/p>\n<pre><code class=\"language-bash\">sudo certbot --nginx -d uygulama.alanadiniz.com -d www.uygulama.alanadiniz.com<\/code><\/pre>\n<p>        Certbot, Nginx yap\u0131land\u0131rman\u0131z\u0131 otomatik olarak alg\u0131layacak, bir <code>server<\/code> blo\u011fu olu\u015fturacak\/d\u00fczenleyecek ve sertifikay\u0131 kuracakt\u0131r. Ayr\u0131ca HTTP&#8217;den HTTPS&#8217;ye y\u00f6nlendirme ayarlamay\u0131 da teklif edebilir.<\/p>\n<p>    *   <strong>Sadece Sertifika Alma (Webroot Y\u00f6ntemi):<\/strong><br \/>\n        E\u011fer Certbot&#8217;un web sunucunuzu otomatik olarak yap\u0131land\u0131rmas\u0131n\u0131 istemiyorsan\u0131z veya web sunucunuz hen\u00fcz kurulu de\u011filse, <code>webroot<\/code> y\u00f6ntemini kullanabilirsiniz. Bu y\u00f6ntem i\u00e7in, web sunucunuzun k\u00f6k dizinini belirtmeniz gerekir. \u00d6rne\u011fin, Apache i\u00e7in <code>\/var\/www\/html<\/code> veya Nginx i\u00e7in <code>\/usr\/share\/nginx\/html<\/code>.<\/p>\n<pre><code class=\"language-bash\">sudo certbot certonly --webroot -w \/var\/www\/html -d uygulama.alanadiniz.com -d www.uygulama.alanadiniz.com<\/code><\/pre>\n<p>        Sertifikalar\u0131n\u0131z ba\u015far\u0131yla al\u0131nd\u0131\u011f\u0131nda, <code>\/etc\/letsencrypt\/live\/uygulama.alanadiniz.com\/<\/code> dizininde bulunacakt\u0131r. Bu dizinde <code>fullchain.pem<\/code> (sertifika zinciri) ve <code>privkey.pem<\/code> (\u00f6zel anahtar) dosyalar\u0131n\u0131 bulacaks\u0131n\u0131z.<\/p>\n<p>3.  <strong>Otomatik Yenileme:<\/strong><br \/>\n    Let&#8217;s Encrypt sertifikalar\u0131 90 g\u00fcn ge\u00e7erlidir. Certbot, sertifikalar\u0131 otomatik olarak yenilemek i\u00e7in bir cron job veya systemd timer ayarlar. Yenileme i\u015flemini test etmek i\u00e7in a\u015fa\u011f\u0131daki komutu kullanabilirsiniz:<\/p>\n<pre><code class=\"language-bash\">sudo certbot renew --dry-run<\/code><\/pre>\n<p>    Bu komut herhangi bir hata vermezse, otomatik yenilemenin d\u00fczg\u00fcn \u00e7al\u0131\u015ft\u0131\u011f\u0131 anlam\u0131na gelir.<\/p>\n<h3>Mevcut Sertifikay\u0131 Kullanma<\/h3>\n<p>E\u011fer ticari bir SSL sertifikas\u0131na sahipseniz veya kendinden imzal\u0131 bir sertifika kullanmak istiyorsan\u0131z, sertifika dosyalar\u0131n\u0131z\u0131 sunucunuza kopyalaman\u0131z ve do\u011fru izinleri ayarlaman\u0131z gerekir.<\/p>\n<p>1.  <strong>Sertifika Dosyalar\u0131n\u0131 Kopyalama:<\/strong><br \/>\n    Sertifika yetkilisinden ald\u0131\u011f\u0131n\u0131z sertifika dosyalar\u0131n\u0131 (genellikle <code>.crt<\/code>, <code>.pem<\/code>, <code>.key<\/code> uzant\u0131l\u0131) g\u00fcvenli bir konuma kopyalay\u0131n. \u00d6rne\u011fin:<br \/>\n    *   \u00d6zel Anahtar (<code>private.key<\/code>)<br \/>\n    *   Alan Ad\u0131 Sertifikas\u0131 (<code>domain.crt<\/code>)<br \/>\n    *   CA Zincir Sertifikas\u0131 (<code>ca_bundle.crt<\/code> veya <code>chain.crt<\/code>)<\/p>\n<p>    Bu dosyalar\u0131 genellikle <code>\/etc\/ssl\/private\/<\/code> ve <code>\/etc\/ssl\/certs\/<\/code> gibi dizinlere veya <code>\/etc\/apache2\/ssl\/<\/code> veya <code>\/etc\/nginx\/ssl\/<\/code> gibi \u00f6zel bir dizine kopyalayabilirsiniz.<\/p>\n<p>2.  <strong>\u0130zinleri Ayarlama:<\/strong><br \/>\n    \u00d6zel anahtar dosyas\u0131n\u0131n sadece root kullan\u0131c\u0131s\u0131 taraf\u0131ndan okunabilir oldu\u011fundan emin olun.<\/p>\n<pre><code class=\"language-bash\">sudo chown root:root \/etc\/ssl\/private\/private.key\n    sudo chmod 600 \/etc\/ssl\/private\/private.key<\/code><\/pre>\n<p>    Di\u011fer sertifika dosyalar\u0131 i\u00e7in daha geni\u015f okuma izinleri verilebilir (\u00f6rne\u011fin, 644).<\/p>\n<p>Sertifikalar\u0131n\u0131z haz\u0131r oldu\u011funda, Apache veya Nginx&#8217;i yap\u0131land\u0131rma ad\u0131mlar\u0131na ge\u00e7ebiliriz.<\/p>\n<h2>Apache HTTP Sunucusu ile Enkripsiyon<\/h2>\n<p>Apache HTTP Sunucusu, Tomcat i\u00e7in pop\u00fcler bir ters proxy se\u00e7ene\u011fidir. SSL sonland\u0131rmay\u0131 Apache&#8217;de yaparak, Tomcat&#8217;i daha g\u00fcvenli bir \u015fekilde arka planda \u00e7al\u0131\u015ft\u0131rabiliriz.<\/p>\n<h3>Apache Kurulumu (Gerekliyse)<\/h3>\n<p>E\u011fer Apache hen\u00fcz kurulu de\u011filse, a\u015fa\u011f\u0131daki komutlarla kurabilirsiniz:<\/p>\n<pre><code class=\"language-bash\">sudo apt-get update\nsudo apt-get install apache2 -y<\/code><\/pre>\n<h3>Gerekli Apache Mod\u00fcllerini Etkinle\u015ftirme<\/h3>\n<p>Tomcat ile ileti\u015fim kurmak ve SSL&#8217;i i\u015flemek i\u00e7in Apache&#8217;nin baz\u0131 mod\u00fcllere ihtiyac\u0131 vard\u0131r.<\/p>\n<pre><code class=\"language-bash\">sudo a2enmod proxy\nsudo a2enmod proxy_http\nsudo a2enmod proxy_ajp # AJP protokol\u00fc kullan\u0131l\u0131yorsa\nsudo a2enmod ssl\nsudo a2enmod headers # G\u00fcvenlik ba\u015fl\u0131klar\u0131 i\u00e7in\nsudo a2enmod rewrite # HTTP'den HTTPS'ye y\u00f6nlendirme i\u00e7in\nsudo systemctl restart apache2<\/code><\/pre>\n<h3>Apache Sanal Host Yap\u0131land\u0131rmas\u0131<\/h3>\n<p>\u015eimdi Apache i\u00e7in bir sanal host (VirtualHost) yap\u0131land\u0131rma dosyas\u0131 olu\u015ftural\u0131m. Bu dosya, alan ad\u0131n\u0131z i\u00e7in HTTP ve HTTPS isteklerini nas\u0131l i\u015fleyece\u011fini belirleyecektir.<\/p>\n<pre><code class=\"language-bash\">sudo nano \/etc\/apache2\/sites-available\/uygulama.alanadiniz.com.conf<\/code><\/pre>\n<p>A\u015fa\u011f\u0131daki i\u00e7eri\u011fi dosyaya ekleyin. <code>uygulama.alanadiniz.com<\/code> ve sertifika yollar\u0131n\u0131 kendi bilgilerinizle de\u011fi\u015ftirin.<\/p>\n<pre><code class=\"language-apache\"><VirtualHost *:80>\n    ServerName uygulama.alanadiniz.com\n    ServerAlias www.uygulama.alanadiniz.com\n    Redirect permanent \/ https:\/\/uygulama.alanadiniz.com\/\n<\/VirtualHost>\n\n<VirtualHost *:443>\n    ServerName uygulama.alanadiniz.com\n    ServerAlias www.uygulama.alanadiniz.com\n\n    # SSL Ayarlar\u0131\n    SSLEngine on\n    SSLCertificateFile \/etc\/letsencrypt\/live\/uygulama.alanadiniz.com\/fullchain.pem\n    SSLCertificateKeyFile \/etc\/letsencrypt\/live\/uygulama.alanadiniz.com\/privkey.pem\n    # E\u011fer ayr\u0131 bir chain file'\u0131n\u0131z varsa: SSLCertificateChainFile \/etc\/letsencrypt\/live\/uygulama.alanadiniz.com\/chain.pem\n\n    # G\u00fcvenlik ve Performans i\u00e7in Ek SSL Ayarlar\u0131\n    SSLProtocol All -SSLv2 -SSLv3 -TLSv1 -TLSv1.1\n    SSLCipherSuite EECDH+AESGCM:EDH+AESGCM:AES256+EECDH:AES256+EDH\n    SSLHonorCipherOrder on\n    SSLCompression off\n    SSLSessionTickets Off\n    Header always set Strict-Transport-Security \"max-age=63072000; includeSubDomains; preload\"\n    Header always set X-Frame-Options DENY\n    Header always set X-Content-Type-Options nosniff\n    Header always set X-XSS-Protection \"1; mode=block\"\n    Header always set Referrer-Policy \"no-referrer-when-downgrade\"\n\n    # HSTS Preload i\u00e7in\n    # <IfModule mod_headers.c>\n    #     Header always set Strict-Transport-Security \"max-age=31536000; includeSubDomains; preload\"\n    # <\/IfModule>\n\n    # Log Ayarlar\u0131\n    ErrorLog ${APACHE_LOG_DIR}\/uygulama.alanadiniz.com-error.log\n    CustomLog ${APACHE_LOG_DIR}\/uygulama.alanadiniz.com-access.log combined\n\n    # Tomcat'e Y\u00f6nlendirme (AJP Kullan\u0131m\u0131)\n    # E\u011fer Tomcat'in AJP konekt\u00f6r\u00fcn\u00fc (8009) kullan\u0131yorsan\u0131z:\n    ProxyPass \/ ajp:\/\/localhost:8009\/\n    ProxyPassReverse \/ ajp:\/\/localhost:8009\/\n\n    # Tomcat'e Y\u00f6nlendirme (HTTP Kullan\u0131m\u0131)\n    # E\u011fer Tomcat'in HTTP konekt\u00f6r\u00fcn\u00fc (8080) kullan\u0131yorsan\u0131z:\n    # ProxyPass \/ http:\/\/localhost:8080\/\n    # ProxyPassReverse \/ http:\/\/localhost:8080\/\n\n    # Proxy Ba\u015fl\u0131klar\u0131\n    ProxyRequests Off\n    ProxyPreserveHost On\n    <Proxy *>\n        Order deny,allow\n        Allow from all\n    <\/Proxy>\n\n    # Tomcat'e g\u00f6nderilecek ba\u015fl\u0131klar\n    RequestHeader set X-Forwarded-Proto \"https\"\n    RequestHeader set X-Forwarded-Port \"443\"\n\n    # AJP Secret Key (E\u011fer AJP kullan\u0131yorsan\u0131z ve secret tan\u0131mlad\u0131ysan\u0131z)\n    # <Proxy ajp:\/\/localhost:8009>\n    #     ProxySet secret=YOUR_AJP_SECRET_KEY\n    # <\/Proxy>\n\n<\/VirtualHost><\/code><\/pre>\n<p><strong>\u00d6nemli Notlar:<\/strong><br \/>\n*   <code>SSLCertificateFile<\/code> ve <code>SSLCertificateKeyFile<\/code> yollar\u0131n\u0131 Let&#8217;s Encrypt sertifikalar\u0131n\u0131z\u0131n veya kendi sertifikalar\u0131n\u0131z\u0131n yollar\u0131yla g\u00fcncelleyin.<br \/>\n*   <code>ProxyPass<\/code> ve <code>ProxyPassReverse<\/code> direktiflerinden sadece birini (AJP veya HTTP) se\u00e7in. AJP genellikle daha verimli oldu\u011fu i\u00e7in \u00f6nerilir.<br \/>\n*   E\u011fer AJP kullan\u0131yorsan\u0131z ve Tomcat&#8217;te <code>secret<\/code> tan\u0131mlad\u0131ysan\u0131z, <code><Proxy ajp:\/\/localhost:8009><\/code> blo\u011funu etkinle\u015ftirerek <code>ProxySet secret=YOUR_AJP_SECRET_KEY<\/code> sat\u0131r\u0131n\u0131 kendi anahtar\u0131n\u0131zla g\u00fcncelleyin.<br \/>\n*   <code>Strict-Transport-Security<\/code> (HSTS) ba\u015fl\u0131\u011f\u0131, taray\u0131c\u0131lara sitenize her zaman HTTPS \u00fczerinden eri\u015fmeleri gerekti\u011fini bildirir ve gelecekteki g\u00fcvenlik a\u00e7\u0131klar\u0131n\u0131 \u00f6nler. <code>preload<\/code> se\u00e7ene\u011fi, HSTS listesine sitenizi eklemek i\u00e7in kullan\u0131labilir (ancak bunun i\u00e7in \u00f6zel bir ba\u015fvuru s\u00fcreci vard\u0131r).<br \/>\n*   Di\u011fer g\u00fcvenlik ba\u015fl\u0131klar\u0131 (X-Frame-Options, X-Content-Type-Options, X-XSS-Protection, Referrer-Policy) web uygulaman\u0131z\u0131n \u00e7e\u015fitli sald\u0131r\u0131lara kar\u015f\u0131 korunmas\u0131na yard\u0131mc\u0131 olur.<\/p>\n<h3>Yap\u0131land\u0131rmay\u0131 Etkinle\u015ftirme ve Yeniden Ba\u015flatma<\/h3>\n<p>Yap\u0131land\u0131rma dosyas\u0131n\u0131 kaydettikten sonra, sanal host&#8217;u etkinle\u015ftirin ve Apache yap\u0131land\u0131rmas\u0131n\u0131 test edip yeniden ba\u015flat\u0131n:<\/p>\n<pre><code class=\"language-bash\">sudo a2ensite uygulama.alanadiniz.com.conf\nsudo apachectl configtest\nsudo systemctl restart apache2<\/code><\/pre>\n<p><code>configtest<\/code> komutu herhangi bir hata vermezse, Apache&#8217;nin yeni yap\u0131land\u0131rmayla ba\u015far\u0131yla ba\u015flat\u0131lmas\u0131 gerekir. Art\u0131k <code>https:\/\/uygulama.alanadiniz.com<\/code> adresinden Tomcat uygulaman\u0131za g\u00fcvenli bir \u015fekilde eri\u015febiliyor olmal\u0131s\u0131n\u0131z.<\/p>\n<h2>Nginx HTTP Sunucusu ile Enkripsiyon<\/h2>\n<p>Nginx, y\u00fcksek performansl\u0131 ve hafif bir web sunucusu ve ters proxy olarak bilinir. Tomcat ba\u011flant\u0131lar\u0131n\u0131 \u015fifrelemek i\u00e7in Nginx&#8217;i kullanmak da pop\u00fcler bir yakla\u015f\u0131md\u0131r.<\/p>\n<h3>Nginx Kurulumu (Gerekliyse)<\/h3>\n<p>E\u011fer Nginx hen\u00fcz kurulu de\u011filse, a\u015fa\u011f\u0131daki komutlarla kurabilirsiniz:<\/p>\n<pre><code class=\"language-bash\">sudo apt-get update\nsudo apt-get install nginx -y<\/code><\/pre>\n<h3>Nginx Yap\u0131land\u0131rmas\u0131<\/h3>\n<p>Nginx i\u00e7in bir sunucu blo\u011fu (server block) yap\u0131land\u0131rma dosyas\u0131 olu\u015ftural\u0131m. Bu dosya, alan ad\u0131n\u0131z i\u00e7in HTTP ve HTTPS isteklerini nas\u0131l i\u015fleyece\u011fini belirleyecektir.<\/p>\n<pre><code class=\"language-bash\">sudo nano \/etc\/nginx\/sites-available\/uygulama.alanadiniz.com<\/code><\/pre>\n<p>A\u015fa\u011f\u0131daki i\u00e7eri\u011fi dosyaya ekleyin. <code>uygulama.alanadiniz.com<\/code> ve sertifika yollar\u0131n\u0131 kendi bilgilerinizle de\u011fi\u015ftirin.<\/p>\n<pre><code class=\"language-nginx\"># HTTP'den HTTPS'ye Y\u00f6nlendirme\nserver {\n    listen 80;\n    listen [::]:80;\n    server_name uygulama.alanadiniz.com www.uygulama.alanadiniz.com;\n    return 301 https:\/\/$host$request_uri;\n}\n\n<h2>HTTPS Yap\u0131land\u0131rmas\u0131<\/h2>\nserver {\n    listen 443 ssl http2;\n    listen [::]:443 ssl http2;\n    server_name uygulama.alanadiniz.com www.uygulama.alanadiniz.com;\n\n    # SSL Sertifika Yollar\u0131\n    ssl_certificate \/etc\/letsencrypt\/live\/uygulama.alanadiniz.com\/fullchain.pem;\n    ssl_certificate_key \/etc\/letsencrypt\/live\/uygulama.alanadiniz.com\/privkey.pem;\n\n    # SSL Ayarlar\u0131 (G\u00fcvenlik ve Performans i\u00e7in)\n    ssl_protocols TLSv1.2 TLSv1.3; # Yaln\u0131zca g\u00fc\u00e7l\u00fc protokolleri kullan\u0131n\n    ssl_ciphers 'ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:DHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384';\n    ssl_prefer_server_ciphers on;\n    ssl_session_cache shared:SSL:10m;\n    ssl_session_timeout 10m;\n    ssl_stapling on;\n    ssl_stapling_verify on;\n    resolver 8.8.8.8 8.8.4.4 valid=300s; # Google DNS veya kendi g\u00fcvenilir DNS sunucunuzu kullan\u0131n\n    resolver_timeout 5s;\n\n    # G\u00fcvenlik Ba\u015fl\u0131klar\u0131\n    add_header X-Frame-Options \"DENY\" always;\n    add_header X-Content-Type-Options \"nosniff\" always;\n    add_header X-XSS-Protection \"1; mode=block\" always;\n    add_header Referrer-Policy \"no-referrer-when-downgrade\" always;\n    add_header Strict-Transport-Security \"max-age=63072000; includeSubDomains; preload\" always;\n\n    # Log Ayarlar\u0131\n    access_log \/var\/log\/nginx\/uygulama.alanadiniz.com-access.log;\n    error_log \/var\/log\/nginx\/uygulama.alanadiniz.com-error.log;\n\n    # Tomcat'e Y\u00f6nlendirme (HTTP Proxy Kullan\u0131m\u0131)\n    location \/ {\n        proxy_pass http:\/\/localhost:8080; # Tomcat'in HTTP portuna y\u00f6nlendirme\n        proxy_set_header Host $host;\n        proxy_set_header X-Real-IP $remote_addr;\n        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;\n        proxy_set_header X-Forwarded-Proto $scheme; # Nginx'in SSL kulland\u0131\u011f\u0131n\u0131 Tomcat'e bildirir\n        proxy_set_header X-Forwarded-Port $server_port; # Nginx'in 443 portunu kulland\u0131\u011f\u0131n\u0131 Tomcat'e bildirir\n        proxy_cache_bypass $http_upgrade;\n        proxy_buffering off; # Dinamik uygulamalar i\u00e7in buffering'i kapatmak genellikle daha iyidir\n        proxy_read_timeout 90s;\n    }\n\n    # Nginx, AJP protokol\u00fcn\u00fc do\u011frudan desteklemez.\n    # E\u011fer AJP kullanmak isterseniz, Nginx i\u00e7in ajp_proxy_module gibi 3. parti bir mod\u00fcl derlemeniz gerekir.\n    # Genellikle Nginx ile HTTP proxy kullanmak daha yayg\u0131n ve basittir.\n}<\/code><\/pre>\n<p><strong>\u00d6nemli Notlar:<\/strong><br \/>\n*   <code>ssl_certificate<\/code> ve <code>ssl_certificate_key<\/code> yollar\u0131n\u0131 Let&#8217;s Encrypt sertifikalar\u0131n\u0131z\u0131n veya kendi sertifikalar\u0131n\u0131z\u0131n yollar\u0131yla g\u00fcncelleyin.<br \/>\n*   <code>proxy_pass http:\/\/localhost:8080;<\/code> sat\u0131r\u0131, Nginx&#8217;in gelen HTTPS isteklerini Tomcat&#8217;in HTTP portuna iletmesini sa\u011flar.<br \/>\n*   <code>proxy_set_header<\/code> direktifleri, orijinal istemci bilgilerini (IP adresi, host, protokol) Tomcat&#8217;e iletmek i\u00e7in kritik \u00f6neme sahiptir. Bu sayede Tomcat, istemcinin ger\u00e7ek IP&#8217;sini ve HTTPS \u00fczerinden geldi\u011fini bilir.<br \/>\n*   <code>Strict-Transport-Security<\/code> (HSTS) ba\u015fl\u0131\u011f\u0131, taray\u0131c\u0131lara sitenize her zaman HTTPS \u00fczerinden eri\u015fmeleri gerekti\u011fini bildirir.<br \/>\n*   Nginx, Apache gibi AJP protokol\u00fcn\u00fc do\u011frudan desteklemez. Bu nedenle genellikle HTTP proxy kullan\u0131l\u0131r.<\/p>\n<h3>Yap\u0131land\u0131rmay\u0131 Etkinle\u015ftirme ve Yeniden Ba\u015flatma<\/h3>\n<p>Yap\u0131land\u0131rma dosyas\u0131n\u0131 kaydettikten sonra, sembolik bir ba\u011flant\u0131 olu\u015fturarak bu yap\u0131land\u0131rmay\u0131 etkinle\u015ftirin ve Nginx yap\u0131land\u0131rmas\u0131n\u0131 test edip yeniden ba\u015flat\u0131n:<\/p>\n<pre><code class=\"language-bash\">sudo ln -s \/etc\/nginx\/sites-available\/uygulama.alanadiniz.com \/etc\/nginx\/sites-enabled\/\nsudo nginx -t\nsudo systemctl restart nginx<\/code><\/pre>\n<p><code>nginx -t<\/code> komutu herhangi bir hata vermezse, Nginx&#8217;in yeni yap\u0131land\u0131rmayla ba\u015far\u0131yla ba\u015flat\u0131lmas\u0131 gerekir. Art\u0131k <code>https:\/\/uygulama.alanadiniz.com<\/code> adresinden Tomcat uygulaman\u0131za g\u00fcvenli bir \u015fekilde eri\u015febiliyor olmal\u0131s\u0131n\u0131z.<\/p>\n<h2>G\u00fcvenlik \u0130pu\u00e7lar\u0131 ve En \u0130yi Uygulamalar<\/h2>\n<p>Tomcat ba\u011flant\u0131lar\u0131n\u0131 \u015fifrelemek, g\u00fcvenli\u011finizi art\u0131rman\u0131n \u00f6nemli bir ad\u0131m\u0131d\u0131r. Ancak bu, kapsaml\u0131 bir g\u00fcvenlik stratejisinin sadece bir par\u00e7as\u0131d\u0131r. \u0130\u015fte ek g\u00fcvenlik ipu\u00e7lar\u0131 ve en iyi uygulamalar:<\/p>\n<p>*   <strong>Tomcat&#8217;i Do\u011frudan \u0130nternete A\u00e7may\u0131n:<\/strong> Ters proxy kullanman\u0131n temel amac\u0131 budur. Tomcat&#8217;in 8080 (veya AJP 8009) portlar\u0131n\u0131 sadece yerel a\u011fdan veya ters proxy sunucunuzdan eri\u015filebilir tutun. G\u00fcvenlik duvar\u0131 (firewall) kurallar\u0131 ile bu portlara d\u0131\u015far\u0131dan eri\u015fimi engelleyin.<br \/>\n*   <strong>G\u00fcvenlik Duvar\u0131 (UFW) Yap\u0131land\u0131rmas\u0131:<\/strong> Ubuntu&#8217;da UFW (Uncomplicated Firewall) kullanarak sadece gerekli portlar\u0131 (80 ve 443) d\u0131\u015far\u0131ya a\u00e7\u0131n.<\/p>\n<pre><code class=\"language-bash\">sudo ufw allow 'Apache Full' # veya 'Nginx Full'\n    sudo ufw allow ssh\n    sudo ufw enable\n    sudo ufw status<\/code><\/pre>\n<p>    Tomcat&#8217;in HTTP veya AJP portlar\u0131na d\u0131\u015far\u0131dan eri\u015fimi engelleyin:<\/p>\n<pre><code class=\"language-bash\">sudo ufw deny 8080\/tcp\n    sudo ufw deny 8009\/tcp<\/code><\/pre>\n<p>*   <strong>G\u00fcncel Yaz\u0131l\u0131m Kullan\u0131m\u0131:<\/strong> \u0130\u015fletim sisteminizi (Ubuntu 16.04&#8217;\u00fcn deste\u011fi sona ermi\u015f olsa da mevcut en son yamalar\u0131), Tomcat, Apache\/Nginx ve Java s\u00fcr\u00fcmlerinizi d\u00fczenli olarak g\u00fcncel tutun. G\u00fcvenlik a\u00e7\u0131klar\u0131n\u0131n \u00e7o\u011fu, eski yaz\u0131l\u0131m s\u00fcr\u00fcmlerinden kaynaklan\u0131r.<br \/>\n*   <strong>G\u00fc\u00e7l\u00fc SSL\/TLS Ayarlar\u0131:<\/strong> Makalede belirtilen <code>ssl_protocols<\/code> ve <code>ssl_ciphers<\/code> gibi ayarlar, zay\u0131f \u015fifrelerin ve eski protokollerin kullan\u0131m\u0131n\u0131 engeller. SSL Labs gibi ara\u00e7larla sertifika yap\u0131land\u0131rman\u0131z\u0131n g\u00fcc\u00fcn\u00fc test edin.<br \/>\n*   <strong>HTTP Strict Transport Security (HSTS):<\/strong> HSTS ba\u015fl\u0131\u011f\u0131n\u0131 (<code>Strict-Transport-Security<\/code>) kullanmak, taray\u0131c\u0131lar\u0131n sitenize her zaman HTTPS \u00fczerinden eri\u015fmesini zorlar ve man-in-the-middle sald\u0131r\u0131lar\u0131na kar\u015f\u0131 koruma sa\u011flar.<br \/>\n*   <strong>G\u00fcvenlik Ba\u015fl\u0131klar\u0131:<\/strong> <code>X-Frame-Options<\/code>, <code>X-Content-Type-Options<\/code>, <code>X-XSS-Protection<\/code> ve <code>Referrer-Policy<\/code> gibi ek g\u00fcvenlik ba\u015fl\u0131klar\u0131n\u0131 kullan\u0131n.<br \/>\n*   <strong>Tomcat Y\u00f6neticisi ve Host Y\u00f6neticisi G\u00fcvenli\u011fi:<\/strong> Tomcat&#8217;in varsay\u0131lan olarak gelen Y\u00f6netici ve Host Y\u00f6neticisi uygulamalar\u0131na eri\u015fimi k\u0131s\u0131tlay\u0131n veya devre d\u0131\u015f\u0131 b\u0131rak\u0131n. E\u011fer kullanman\u0131z gerekiyorsa, g\u00fc\u00e7l\u00fc parolalar kullan\u0131n ve sadece belirli IP adreslerinden eri\u015fime izin verin.<br \/>\n*   <strong>D\u00fczenli Yedekleme:<\/strong> Uygulama verilerinizi, yap\u0131land\u0131rma dosyalar\u0131n\u0131z\u0131 ve sertifikalar\u0131n\u0131z\u0131 d\u00fczenli olarak yedekleyin.<br \/>\n*   <strong>Loglar\u0131 \u0130zleme:<\/strong> Apache\/Nginx ve Tomcat&#8217;in eri\u015fim ve hata g\u00fcnl\u00fcklerini d\u00fczenli olarak kontrol edin. Anormal etkinlikler veya hata mesajlar\u0131, potansiyel g\u00fcvenlik sorunlar\u0131n\u0131n veya yap\u0131land\u0131rma hatalar\u0131n\u0131n g\u00f6stergesi olabilir.<br \/>\n*   <strong>Minimum Yetki Prensibi:<\/strong> Tomcat, Apache ve Nginx&#8217;i \u00e7al\u0131\u015ft\u0131rmak i\u00e7in m\u00fcmk\u00fcn olan en az yetkiye sahip kullan\u0131c\u0131lar\u0131 kullan\u0131n.<\/p>\n<h2>Sorun Giderme<\/h2>\n<p>Kurulum ve yap\u0131land\u0131rma s\u0131ras\u0131nda baz\u0131 sorunlarla kar\u015f\u0131la\u015fabilirsiniz. \u0130\u015fte yayg\u0131n sorunlar ve \u00e7\u00f6z\u00fcmleri:<\/p>\n<p>*   <strong>Taray\u0131c\u0131da &#8220;G\u00fcvenli De\u011fil&#8221; Uyar\u0131s\u0131 veya Sertifika Hatas\u0131:<\/strong><br \/>\n    *   <strong>Sertifika S\u00fcresi Dolmu\u015f:<\/strong> Let&#8217;s Encrypt sertifikalar\u0131 90 g\u00fcn ge\u00e7erlidir. Otomatik yenilemenin \u00e7al\u0131\u015ft\u0131\u011f\u0131ndan emin olun (<code>sudo certbot renew --dry-run<\/code>).<br \/>\n    *   <strong>Yanl\u0131\u015f Alan Ad\u0131:<\/strong> Sertifika, taray\u0131c\u0131n\u0131n eri\u015fmeye \u00e7al\u0131\u015ft\u0131\u011f\u0131 alan ad\u0131yla e\u015fle\u015fmiyor olabilir (\u00f6rn. <code>www.alanadiniz.com<\/code> i\u00e7in sertifika ald\u0131n\u0131z ama <code>alanadiniz.com<\/code> adresine eri\u015fmeye \u00e7al\u0131\u015f\u0131yorsunuz). Sertifikay\u0131 do\u011fru alan adlar\u0131 i\u00e7in ald\u0131\u011f\u0131n\u0131zdan emin olun.<br \/>\n    *   <strong>Sertifika Dosyas\u0131 Yolu Yanl\u0131\u015f:<\/strong> Apache veya Nginx yap\u0131land\u0131rman\u0131zda <code>SSLCertificateFile<\/code>\/<code>ssl_certificate<\/code> ve <code>SSLCertificateKeyFile<\/code>\/<code>ssl_certificate_key<\/code> yollar\u0131n\u0131n do\u011fru oldu\u011fundan emin olun.<br \/>\n    *   <strong>Zincir Sertifika Eksik:<\/strong> Baz\u0131 taray\u0131c\u0131lar, CA zincir sertifikas\u0131n\u0131n (intermediate certificate) do\u011fru \u015fekilde sunulmas\u0131n\u0131 gerektirir. <code>fullchain.pem<\/code> dosyas\u0131n\u0131n hem alan ad\u0131 sertifikas\u0131n\u0131 hem de zincir sertifikay\u0131 i\u00e7erdi\u011finden emin olun.<\/p>\n<p>*   <strong>502 Bad Gateway veya 503 Service Unavailable Hatas\u0131:<\/strong><br \/>\n    *   <strong>Tomcat \u00c7al\u0131\u015fm\u0131yor:<\/strong> Tomcat uygulamas\u0131n\u0131n \u00e7al\u0131\u015f\u0131r durumda oldu\u011fundan emin olun (<code>sudo systemctl status tomcat8<\/code>).<br \/>\n    *   <strong>Tomcat Portu Kapal\u0131 veya Yanl\u0131\u015f:<\/strong> Tomcat&#8217;in dinledi\u011fi portun (8080 veya 8009) do\u011fru oldu\u011fundan ve g\u00fcvenlik duvar\u0131 taraf\u0131ndan engellenmedi\u011finden emin olun. Tomcat&#8217;e do\u011frudan <code>curl http:\/\/localhost:8080<\/code> ile eri\u015febiliyor musunuz kontrol edin.<br \/>\n    *   <strong>Apache\/Nginx Proxy Ayarlar\u0131 Yanl\u0131\u015f:<\/strong> <code>ProxyPass<\/code>\/<code>proxy_pass<\/code> direktifindeki URL&#8217;nin do\u011fru oldu\u011fundan emin olun (\u00f6rn. <code>http:\/\/localhost:8080<\/code> veya <code>ajp:\/\/localhost:8009<\/code>).<br \/>\n    *   <strong>AJP Secret Uyu\u015fmazl\u0131\u011f\u0131:<\/strong> E\u011fer AJP kullan\u0131yorsan\u0131z ve Tomcat&#8217;te <code>secret<\/code> tan\u0131mlad\u0131ysan\u0131z, Apache yap\u0131land\u0131rmas\u0131ndaki <code>ProxySet secret<\/code> de\u011ferinin Tomcat&#8217;tekiyle ayn\u0131 oldu\u011fundan emin olun.<\/p>\n<p>*   <strong>HTTP&#8217;den HTTPS&#8217;ye Y\u00f6nlendirme \u00c7al\u0131\u015fm\u0131yor veya D\u00f6ng\u00fcye Giriyor:<\/strong><br \/>\n    *   <strong>Apache\/Nginx Yap\u0131land\u0131rmas\u0131:<\/strong> Y\u00f6nlendirme kurallar\u0131n\u0131n do\u011fru oldu\u011fundan emin olun.<br \/>\n    *   <strong>Tomcat&#8217;in X-Forwarded-Proto&#8217;yu Tan\u0131mas\u0131:<\/strong> Tomcat&#8217;in ters proxy&#8217;den gelen <code>X-Forwarded-Proto<\/code> ba\u015fl\u0131\u011f\u0131n\u0131 do\u011fru \u015fekilde okudu\u011fundan emin olun. E\u011fer <code>secure=\"true\"<\/code> olarak i\u015faretlenmi\u015f bir sayfa hala HTTP olarak alg\u0131lan\u0131yorsa, Tomcat&#8217;in <code>server.xml<\/code> dosyas\u0131ndaki <code>RemoteIpValve<\/code> gibi bir valfi etkinle\u015ftirmeniz gerekebilir:<\/p>\n<pre><code class=\"language-xml\"><Valve className=\"org.apache.catalina.valves.RemoteIpValve\"\n               internalProxies=\"127\\.\\d+\\.\\d+\\.\\d+|::1|0:0:0:0:0:0:0:1\"\n               remoteIpHeader=\"x-forwarded-for\"\n               proxiesHeader=\"x-forwarded-by\"\n               protocolHeader=\"x-forwarded-proto\"\n               protocolHeaderHttpsValue=\"https\" \/><\/code><\/pre>\n<p>        Bu valf, Tomcat&#8217;in <code>X-Forwarded-Proto<\/code> ba\u015fl\u0131\u011f\u0131n\u0131 okumas\u0131n\u0131 ve iste\u011fi HTTPS olarak i\u015flemesini sa\u011flar.<\/p>\n<p>*   <strong>G\u00fcnl\u00fck Dosyalar\u0131n\u0131 Kontrol Etme:<\/strong><br \/>\n    *   <strong>Apache Loglar\u0131:<\/strong> <code>\/var\/log\/apache2\/error.log<\/code> ve <code>\/var\/log\/apache2\/access.log<\/code><br \/>\n    *   <strong>Nginx Loglar\u0131:<\/strong> <code>\/var\/log\/nginx\/error.log<\/code> ve <code>\/var\/log\/nginx\/access.log<\/code><br \/>\n    *   <strong>Tomcat Loglar\u0131:<\/strong> <code>\/var\/log\/tomcat8\/catalina.out<\/code> veya Tomcat kurulum dizininin <code>logs\/<\/code> alt\u0131ndaki di\u011fer dosyalar.<br \/>\n    Bu log dosyalar\u0131, sorunlar\u0131n k\u00f6k nedenini belirlemenize yard\u0131mc\u0131 olacak de\u011ferli bilgiler i\u00e7erir.<\/p>\n<h2>Sonu\u00e7<\/h2>\n<p>Bu kapsaml\u0131 rehberde, Ubuntu 16.04 \u00fczerinde \u00e7al\u0131\u015fan bir Tomcat 8 uygulamas\u0131n\u0131n ba\u011flant\u0131lar\u0131n\u0131 Apache HTTP Sunucusu veya Nginx kullanarak nas\u0131l \u015fifreleyece\u011finizi ad\u0131m ad\u0131m \u00f6\u011frendiniz. Ters proxy mimarisinin Tomcat uygulaman\u0131z i\u00e7in hem g\u00fcvenlik hem de performans a\u00e7\u0131s\u0131ndan sundu\u011fu avantajlar\u0131 ele ald\u0131k. Let&#8217;s Encrypt ile \u00fccretsiz SSL\/TLS sertifikas\u0131 edinme, Tomcat&#8217;i ters proxy arkas\u0131nda \u00e7al\u0131\u015facak \u015fekilde yap\u0131land\u0131rma ve son olarak Apache veya Nginx&#8217;i bu sertifikalarla birlikte Tomcat trafi\u011fini \u015fifrelemek \u00fczere yap\u0131land\u0131rma s\u00fcre\u00e7lerini ayr\u0131nt\u0131l\u0131 bir \u015fekilde inceledik.<\/p>\n<p>Uygulaman\u0131z\u0131n g\u00fcvenli\u011fini sa\u011flamak, sadece sertifika kurmakla bitmez. Makalede bahsedilen g\u00fcvenlik ipu\u00e7lar\u0131 ve en iyi uygulamalar (g\u00fcvenlik duvar\u0131 yap\u0131land\u0131rmas\u0131, yaz\u0131l\u0131m g\u00fcncellemeleri, g\u00fc\u00e7l\u00fc SSL ayarlar\u0131 ve g\u00fcvenlik ba\u015fl\u0131klar\u0131 gibi) uygulaman\u0131z\u0131n genel g\u00fcvenlik duru\u015funu \u00f6nemli \u00f6l\u00e7\u00fcde g\u00fc\u00e7lendirecektir. Olas\u0131 sorunlar\u0131 gidermek i\u00e7in log dosyalar\u0131n\u0131 d\u00fczenli olarak kontrol etmek ve yayg\u0131n hata mesajlar\u0131n\u0131n ne anlama geldi\u011fini bilmek, operasyonel s\u00fcreklilik i\u00e7in hayati \u00f6neme sahiptir.<\/p>\n<p>G\u00fcvenli bir web uygulamas\u0131, kullan\u0131c\u0131lar\u0131n\u0131za olan taahh\u00fcd\u00fcn\u00fcz\u00fc g\u00f6sterir ve markan\u0131z\u0131n itibar\u0131n\u0131 art\u0131r\u0131r. Bu rehberdeki ad\u0131mlar\u0131 takip ederek, Tomcat 8 uygulaman\u0131z i\u00e7in g\u00fc\u00e7l\u00fc ve \u015fifreli ba\u011flant\u0131lar sa\u011flayabilir, b\u00f6ylece kullan\u0131c\u0131lar\u0131n\u0131z\u0131n verilerini koruyabilir ve g\u00fcvenli bir dijital deneyim sunabilirsiniz. Unutmay\u0131n, g\u00fcvenlik s\u00fcrekli bir s\u00fcre\u00e7tir ve d\u00fczenli bak\u0131m ile g\u00fcncellemeler gerektirir.<\/p>\n<p><\/body><\/p>\n","protected":false},"excerpt":{"rendered":"Tomcat 8 Ba\u011flant\u0131lar\u0131n\u0131 Apache veya Nginx ile \u015eifreleme: Ubuntu 16.04 \u00dczerinde Kapsaml\u0131 Bir Rehber\nGiri\u015f\nG\u00fcn\u00fcm\u00fcz\u00fcn dijital d\u00fcnyas\u0131nda,","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"csco_page_header_type":"","csco_page_load_nextpost":"","csco_page_subscribe_form":"","csco_page_contact_form":"","footnotes":""},"categories":[1468],"tags":[],"class_list":{"0":"post-34239","1":"post","2":"type-post","3":"status-publish","4":"format-standard","6":"category-ubuntu","7":"cs-entry","8":"cs-video-wrap"},"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v20.5 (Yoast SEO v25.3.1) - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Tomcat 8 Ba\u011flant\u0131lar\u0131n\u0131 Apache veya Nginx ile \u015eifreleme: Ubuntu 16.04 \u00dczerinde Kapsaml\u0131 Bir Rehber - Kodlar\u0131n Gizemli D\u00fcnyas\u0131<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/fatihsoysal.com\/blog\/tomcat-8-baglantilarini-apache-veya-nginx-ile-sifreleme-ubuntu-16-04-uzerinde-kapsamli-bir-rehber\/\" \/>\n<meta property=\"og:locale\" content=\"tr_TR\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Tomcat 8 Ba\u011flant\u0131lar\u0131n\u0131 Apache veya Nginx ile \u015eifreleme: Ubuntu 16.04 \u00dczerinde Kapsaml\u0131 Bir Rehber\" \/>\n<meta property=\"og:description\" content=\"Tomcat 8 Ba\u011flant\u0131lar\u0131n\u0131 Apache veya Nginx ile \u015eifreleme: Ubuntu 16.04 \u00dczerinde Kapsaml\u0131 Bir Rehber Giri\u015f G\u00fcn\u00fcm\u00fcz\u00fcn dijital d\u00fcnyas\u0131nda,\" \/>\n<meta property=\"og:url\" content=\"https:\/\/fatihsoysal.com\/blog\/tomcat-8-baglantilarini-apache-veya-nginx-ile-sifreleme-ubuntu-16-04-uzerinde-kapsamli-bir-rehber\/\" \/>\n<meta property=\"og:site_name\" content=\"Kodlar\u0131n Gizemli D\u00fcnyas\u0131\" \/>\n<meta property=\"article:published_time\" content=\"2025-11-13T11:41:05+00:00\" \/>\n<meta name=\"author\" content=\"Fatih Soysal\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Yazan:\" \/>\n\t<meta name=\"twitter:data1\" content=\"Fatih Soysal\" \/>\n\t<meta name=\"twitter:label2\" content=\"Tahmini okuma s\u00fcresi\" \/>\n\t<meta name=\"twitter:data2\" content=\"21 dakika\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/tomcat-8-baglantilarini-apache-veya-nginx-ile-sifreleme-ubuntu-16-04-uzerinde-kapsamli-bir-rehber\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/tomcat-8-baglantilarini-apache-veya-nginx-ile-sifreleme-ubuntu-16-04-uzerinde-kapsamli-bir-rehber\/\"},\"author\":{\"name\":\"Fatih Soysal\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1\"},\"headline\":\"Tomcat 8 Ba\u011flant\u0131lar\u0131n\u0131 Apache veya Nginx ile \u015eifreleme: Ubuntu 16.04 \u00dczerinde Kapsaml\u0131 Bir Rehber\",\"datePublished\":\"2025-11-13T11:41:05+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/tomcat-8-baglantilarini-apache-veya-nginx-ile-sifreleme-ubuntu-16-04-uzerinde-kapsamli-bir-rehber\/\"},\"wordCount\":3187,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1\"},\"articleSection\":[\"Ubuntu\"],\"inLanguage\":\"tr\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/fatihsoysal.com\/blog\/tomcat-8-baglantilarini-apache-veya-nginx-ile-sifreleme-ubuntu-16-04-uzerinde-kapsamli-bir-rehber\/#respond\"]}],\"copyrightYear\":\"2025\",\"copyrightHolder\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/tomcat-8-baglantilarini-apache-veya-nginx-ile-sifreleme-ubuntu-16-04-uzerinde-kapsamli-bir-rehber\/\",\"url\":\"https:\/\/fatihsoysal.com\/blog\/tomcat-8-baglantilarini-apache-veya-nginx-ile-sifreleme-ubuntu-16-04-uzerinde-kapsamli-bir-rehber\/\",\"name\":\"Tomcat 8 Ba\u011flant\u0131lar\u0131n\u0131 Apache veya Nginx ile \u015eifreleme: Ubuntu 16.04 \u00dczerinde Kapsaml\u0131 Bir Rehber - Kodlar\u0131n Gizemli D\u00fcnyas\u0131\",\"isPartOf\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#website\"},\"datePublished\":\"2025-11-13T11:41:05+00:00\",\"breadcrumb\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/tomcat-8-baglantilarini-apache-veya-nginx-ile-sifreleme-ubuntu-16-04-uzerinde-kapsamli-bir-rehber\/#breadcrumb\"},\"inLanguage\":\"tr\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/fatihsoysal.com\/blog\/tomcat-8-baglantilarini-apache-veya-nginx-ile-sifreleme-ubuntu-16-04-uzerinde-kapsamli-bir-rehber\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/tomcat-8-baglantilarini-apache-veya-nginx-ile-sifreleme-ubuntu-16-04-uzerinde-kapsamli-bir-rehber\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Anasayfa\",\"item\":\"https:\/\/fatihsoysal.com\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Tomcat 8 Ba\u011flant\u0131lar\u0131n\u0131 Apache veya Nginx ile \u015eifreleme: Ubuntu 16.04 \u00dczerinde Kapsaml\u0131 Bir Rehber\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#website\",\"url\":\"https:\/\/fatihsoysal.com\/blog\/\",\"name\":\"Fatihsoysal.com\",\"description\":\"Blog - Yaz\u0131l\u0131m D\u00fcnyas\u0131 Tecr\u00fcbelerim\",\"publisher\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/fatihsoysal.com\/blog\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"tr\"},{\"@type\":[\"Person\",\"Organization\"],\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1\",\"name\":\"Fatih Soysal\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"tr\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/fatihsoysal.com\/blog\/wp-content\/uploads\/2024\/04\/cropped-replicate-prediction-3kgg1hgjn5rgp0cf0p5tr0jw7w-1.png\",\"contentUrl\":\"https:\/\/fatihsoysal.com\/blog\/wp-content\/uploads\/2024\/04\/cropped-replicate-prediction-3kgg1hgjn5rgp0cf0p5tr0jw7w-1.png\",\"width\":512,\"height\":512,\"caption\":\"Fatih Soysal\"},\"logo\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/image\/\"},\"description\":\"Kullan\u0131m ve kodlama m\u00fckemmeliyetini odak alan uygulamalar olu\u015fturma deneyimine sahip, profesyonel olarak 15+ y\u0131l \u00fczeri deneyime sahip bir yaz\u0131l\u0131m m\u00fchendisi.\",\"url\":\"https:\/\/fatihsoysal.com\/blog\/author\/fatihsoysal\/\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"Tomcat 8 Ba\u011flant\u0131lar\u0131n\u0131 Apache veya Nginx ile \u015eifreleme: Ubuntu 16.04 \u00dczerinde Kapsaml\u0131 Bir Rehber - Kodlar\u0131n Gizemli D\u00fcnyas\u0131","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/fatihsoysal.com\/blog\/tomcat-8-baglantilarini-apache-veya-nginx-ile-sifreleme-ubuntu-16-04-uzerinde-kapsamli-bir-rehber\/","og_locale":"tr_TR","og_type":"article","og_title":"Tomcat 8 Ba\u011flant\u0131lar\u0131n\u0131 Apache veya Nginx ile \u015eifreleme: Ubuntu 16.04 \u00dczerinde Kapsaml\u0131 Bir Rehber","og_description":"Tomcat 8 Ba\u011flant\u0131lar\u0131n\u0131 Apache veya Nginx ile \u015eifreleme: Ubuntu 16.04 \u00dczerinde Kapsaml\u0131 Bir Rehber Giri\u015f G\u00fcn\u00fcm\u00fcz\u00fcn dijital d\u00fcnyas\u0131nda,","og_url":"https:\/\/fatihsoysal.com\/blog\/tomcat-8-baglantilarini-apache-veya-nginx-ile-sifreleme-ubuntu-16-04-uzerinde-kapsamli-bir-rehber\/","og_site_name":"Kodlar\u0131n Gizemli D\u00fcnyas\u0131","article_published_time":"2025-11-13T11:41:05+00:00","author":"Fatih Soysal","twitter_card":"summary_large_image","twitter_misc":{"Yazan:":"Fatih Soysal","Tahmini okuma s\u00fcresi":"21 dakika"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/fatihsoysal.com\/blog\/tomcat-8-baglantilarini-apache-veya-nginx-ile-sifreleme-ubuntu-16-04-uzerinde-kapsamli-bir-rehber\/#article","isPartOf":{"@id":"https:\/\/fatihsoysal.com\/blog\/tomcat-8-baglantilarini-apache-veya-nginx-ile-sifreleme-ubuntu-16-04-uzerinde-kapsamli-bir-rehber\/"},"author":{"name":"Fatih Soysal","@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1"},"headline":"Tomcat 8 Ba\u011flant\u0131lar\u0131n\u0131 Apache veya Nginx ile \u015eifreleme: Ubuntu 16.04 \u00dczerinde Kapsaml\u0131 Bir Rehber","datePublished":"2025-11-13T11:41:05+00:00","mainEntityOfPage":{"@id":"https:\/\/fatihsoysal.com\/blog\/tomcat-8-baglantilarini-apache-veya-nginx-ile-sifreleme-ubuntu-16-04-uzerinde-kapsamli-bir-rehber\/"},"wordCount":3187,"commentCount":0,"publisher":{"@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1"},"articleSection":["Ubuntu"],"inLanguage":"tr","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/fatihsoysal.com\/blog\/tomcat-8-baglantilarini-apache-veya-nginx-ile-sifreleme-ubuntu-16-04-uzerinde-kapsamli-bir-rehber\/#respond"]}],"copyrightYear":"2025","copyrightHolder":{"@id":"https:\/\/fatihsoysal.com\/blog\/#organization"}},{"@type":"WebPage","@id":"https:\/\/fatihsoysal.com\/blog\/tomcat-8-baglantilarini-apache-veya-nginx-ile-sifreleme-ubuntu-16-04-uzerinde-kapsamli-bir-rehber\/","url":"https:\/\/fatihsoysal.com\/blog\/tomcat-8-baglantilarini-apache-veya-nginx-ile-sifreleme-ubuntu-16-04-uzerinde-kapsamli-bir-rehber\/","name":"Tomcat 8 Ba\u011flant\u0131lar\u0131n\u0131 Apache veya Nginx ile \u015eifreleme: Ubuntu 16.04 \u00dczerinde Kapsaml\u0131 Bir Rehber - Kodlar\u0131n Gizemli D\u00fcnyas\u0131","isPartOf":{"@id":"https:\/\/fatihsoysal.com\/blog\/#website"},"datePublished":"2025-11-13T11:41:05+00:00","breadcrumb":{"@id":"https:\/\/fatihsoysal.com\/blog\/tomcat-8-baglantilarini-apache-veya-nginx-ile-sifreleme-ubuntu-16-04-uzerinde-kapsamli-bir-rehber\/#breadcrumb"},"inLanguage":"tr","potentialAction":[{"@type":"ReadAction","target":["https:\/\/fatihsoysal.com\/blog\/tomcat-8-baglantilarini-apache-veya-nginx-ile-sifreleme-ubuntu-16-04-uzerinde-kapsamli-bir-rehber\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/fatihsoysal.com\/blog\/tomcat-8-baglantilarini-apache-veya-nginx-ile-sifreleme-ubuntu-16-04-uzerinde-kapsamli-bir-rehber\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Anasayfa","item":"https:\/\/fatihsoysal.com\/blog\/"},{"@type":"ListItem","position":2,"name":"Tomcat 8 Ba\u011flant\u0131lar\u0131n\u0131 Apache veya Nginx ile \u015eifreleme: Ubuntu 16.04 \u00dczerinde Kapsaml\u0131 Bir Rehber"}]},{"@type":"WebSite","@id":"https:\/\/fatihsoysal.com\/blog\/#website","url":"https:\/\/fatihsoysal.com\/blog\/","name":"Fatihsoysal.com","description":"Blog - Yaz\u0131l\u0131m D\u00fcnyas\u0131 Tecr\u00fcbelerim","publisher":{"@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/fatihsoysal.com\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"tr"},{"@type":["Person","Organization"],"@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1","name":"Fatih Soysal","image":{"@type":"ImageObject","inLanguage":"tr","@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/image\/","url":"https:\/\/fatihsoysal.com\/blog\/wp-content\/uploads\/2024\/04\/cropped-replicate-prediction-3kgg1hgjn5rgp0cf0p5tr0jw7w-1.png","contentUrl":"https:\/\/fatihsoysal.com\/blog\/wp-content\/uploads\/2024\/04\/cropped-replicate-prediction-3kgg1hgjn5rgp0cf0p5tr0jw7w-1.png","width":512,"height":512,"caption":"Fatih Soysal"},"logo":{"@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/image\/"},"description":"Kullan\u0131m ve kodlama m\u00fckemmeliyetini odak alan uygulamalar olu\u015fturma deneyimine sahip, profesyonel olarak 15+ y\u0131l \u00fczeri deneyime sahip bir yaz\u0131l\u0131m m\u00fchendisi.","url":"https:\/\/fatihsoysal.com\/blog\/author\/fatihsoysal\/"}]}},"yoast_meta":{"yoast_wpseo_title":"","yoast_wpseo_metadesc":"","yoast_wpseo_canonical":""},"amp_enabled":true,"_links":{"self":[{"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/posts\/34239","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/comments?post=34239"}],"version-history":[{"count":1,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/posts\/34239\/revisions"}],"predecessor-version":[{"id":34240,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/posts\/34239\/revisions\/34240"}],"wp:attachment":[{"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/media?parent=34239"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/categories?post=34239"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/tags?post=34239"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}