Tomcat'in önünde Apache HTTPD ve SSL kullanma

Dspace Apache HTTPD ile SSL

Tomcat'in önündeki Apache HTTPD'de SSL kullanma (80 ve 443 numaralı bağlantı noktalarında çalışır)

Bu talimatları izlemeden önce, DSpace'in 8080 numaralı bağlantı noktasında bağımsız olarak Tomcat'te çalışmasını şiddetle tavsiye ederiz. DSpace çalıştıktan sonra, DSpace'in 80 numaralı bağlantı noktasında çalışmasını sağlamak için Tomcat'in önüne Apache HTTP Sunucusu eklemek için aşağıdaki talimatları kullanabilirsiniz. ve isteğe bağlı olarak 443 numaralı bağlantı noktasını (SSL için) da kullanabilirsiniz.

Hem standart bağlantı noktalarında (80 ve 443) DSpace çalıştırmanın hem de HTTPS'yi kullanmanın en kolay yollarından biri, Apache HTTP Sunucusunu birincil HTTP sunucunuz olarak yüklemek ve Tomcat'e istekleri iletmek için kullanmaktır.

Tomcat örneğinizle birlikte Apache HTTP Sunucusunu yükleyin

Tomcat'in server.xml dosyasında, AJP Bağlayıcısı'nın UNCOMMENTED olduğundan emin olun. Bu genellikle 8009 numaralı bağlantı noktasında çalışır, ancak isterseniz bağlantı noktasını değiştirmeye karar verebilirsiniz.

<! - 8009 numaralı bağlantı noktasında bir AJP 1.3 Bağlayıcısı tanımlayın ->
<Bağlayıcı bağlantı noktası = "8009" protokolü = "AJP / 1.3" />


İstekleri Apache HTTP Sunucusundan Tomcat'e nasıl yeniden yönlendirmek istediğinizi seçin. İki ana seçenek vardır (mod_proxy VEYA mod_jk), sadece BİR'i seçin. (NOT: "mod_proxy" genellikle bu ikisinden daha kolaydır):

SEÇENEK 1: Tomcat'e (AJP Connector aracılığıyla) istekleri yeniden yönlendirmek için "mod_proxy" ve "mod_proxy_ajp" Apache modüllerini kullanın - ÖNERİLİR

"Mod_proxy" ve "mod_proxy_ajp" 'yi kurun (genellikle Apache HTTP Sunucusu ile varsayılan olarak kurulur)

Hem "mod_proxy" hem de "mod_proxy_ajp" modüllerini etkinleştirin. Bunu nasıl yapacağınız genellikle işletim sisteminize bağlıdır

Debian / Ubuntu'da Apache 2 modüllerini etkinleştiren bir "a2enmod" komutu var. Yani, sadece şunu çalıştırabilirsiniz: sudo a2enmod proxy proxy_ajp

Diğer işletim sistemlerinde, uygun "LoadModule" yapılandırmalarını (Apache HTTP Sunucusunun ana yapılandırmasında) bulmanız ve bu işareti kaldırmanız gerekebilir. Ardından Apache HTTP Sunucusunu yeniden başlatmanız gerekir

DSpace sitenizi temsil etmek için Apache HTTP Sunucusunda yeni bir Sanal Ana Bilgisayar oluşturun. Aşağıda, "my.dspace.edu" için 80 numaralı bağlantı noktasına yanıt veren bir Sanal Ana Bilgisayarın temel bir örneği verilmiştir:


<VirtualHost *: 80>
   # Açıkçası, SunucuAdı'nı DSpace site URL'nizle değiştirin
   SunucuAdı my.dspace.edu
 
   ## Apache HTTP Sunucusu Günlük Ayarları - uygun gördüğünüz şekilde değiştirin
   ErrorLog $ {APACHE_LOG_DIR} /my.dspace.edu-error.log
   CustomLog $ {APACHE_LOG_DIR} /my.dspace.edu-access.log birleştirilmiş
 
   # Olası değerler şunları içerir: hata ayıklama, bilgi, uyarı, uyar, hata, kritik, uyarı, ortaya çıktı.
   Seviye uyar
 
   # Sanal Ana Makineler için daha birçok yapılandırma mevcut,
   # daha fazla bilgi için belgelere bakın
   # http://httpd.apache.org/docs/2.4/vhosts/
</ VirtualHost>

Sitenizin SSL isteklerine de yanıt vermesini istiyorsanız, "mod_ssl" dosyasını yüklemeniz ve etkinleştirmeniz ve 443 numaralı bağlantı noktası isteklerine yanıt vermek için ikinci bir Sanal Ana Bilgisayar oluşturmanız gerekir. Aşağıda bir örnek verilmiştir. Ancak Apache HTTP SSL Belgeleri ve mod_ssl belgelerinde çok daha fazla ayrıntı mevcuttur


<VirtualHost *: 443>
   # Açıkçası, SunucuAdı'nı DSpace site URL'nizle değiştirin
   SunucuAdı my.dspace.edu
 
   # Burada da SSL Apache günlük kaydı ayarlarınız olabilir (yukarıdaki bağlantı noktası 80 örneğine bakın)
 
   # SSL Sertifikanızı yapılandırın (açık bir şekilde bir tane oluşturmanız gerekir)
   # Bu sertifikayı oluşturma örnekleri için yukarıdaki "tuş takımı" talimatlarına bakın
   # Web'de ayrıca Apache için SSL sertifikaları oluşturmak için birçok iyi kılavuz var
   SSLEngine açık
   SSLCertificateChainFile /path/to/your/chainfile.crt
   SSLCertificateFile /path/to/your/public-cert.crt
   SSLCertificateKeyFile /path/to/your/private-key.key
    
   # SSL yapılandırmaları hakkında daha fazla bilgi mod_ssl belgelerinde bulunabilir
   # http://httpd.apache.org/docs/2.4/mod/mod_ssl.html
</ VirtualHost>


X.509 İstemci Sertifikaları kimlik doğrulaması için Ek SSL Yapılandırmaları

Kimlik doğrulama için X.509 İstemci Sertifikaları kullanıyorsanız: bu yapılandırma seçeneklerini uygun httpd yapılandırma dosyasına ekleyin, ör. ssl.conf ve DSpace'e ayrılmış sanal ana bilgisayar ve ad alanı konumları için yürürlükte olduklarından emin olun:

## SSLVerifyClient "isteğe bağlı" veya "zorunlu" olabilir
SSLVerifyClient isteğe bağlı
SSLVerifyDerinlik 10
SSLCACertificateFile / path / to / your / client-CA-sertifikası
SSLOptions StdEnvVars ExportCertData


Apache HTTP Sanal Ana Makinelerinizin her birinde (yukarıya bakın), Apache HTTP Sunucusundan Apache Tomcat'e yönlendirmeleri yapılandırmak için "ProxyPass" yapılandırmalarını kullanın. Tam yapılandırmalar, TÜM istekleri Tomcat'e mi yoksa yalnızca belirli yollara mı yönlendirmek istediğinize bağlıdır. İşte temel bir örnek. Ancak mod_proxy belgelerinde çok daha fazla bilgi ve örnek bulunabilir


# These are just examples. THEY LIKELY WILL NEED MODIFICATION.
# Again, remember to add these to your EXISTING <VirtualHost> settings
 
<VirtualHost>
 
  ... (existing settings) ...
 
  # If there's a single path you do NOT want redirected, you can use ! to ignore it
  # In this case any requests to "/ignored_path" will be handled by Apache HTTPD and NOT forwarded to Tomcat
  ProxyPass  /ignored_path  !
 
  # These configurations say: By default, redirect ALL requests to port 8009
  # (The port MUST match the port of your Tomcat AJP Connector. By default this usually is 8009)
  ProxyPass         /  ajp://localhost:8009/
  ProxyPassReverse  /  ajp://localhost:8009/
 
  # You may also wish to provide additional "mod_proxy" configurations,
  # for more examples and details see the documentation at
  # http://httpd.apache.org/docs/2.4/mod/mod_proxy.html
</VirtualHost>


SEÇENEK 2: Alternatif olarak, istekleri Tomcat'e (AJP Connector aracılığıyla) yönlendirmek için "mod_jk" Apache modülünü kullanın. Mod_jk yapılandırması hakkında bilgi için lütfen Apache Tomcat Connector belgelerine bakın (özellikle Tomcat Connector'u Apache HTTP Sunucusu ile kullanma hakkında "Nasıl Yapılır"). Modpace ile DSpace kurulumu için wiki kılavuzumuza da bakabilirsiniz.

Son olarak, Apache HTTP Sunucunuzu yeniden başlatın ve işleri test edin.

Herhangi bir sorunla karşılaşırsanız, "mod_proxy" veya "mod_jk" kullanarak Apache HTTP Sunucusu ve Apache Tomcat'i çalıştırmak için kılavuz aramanız önerilir. DSpace, Apache'den Tomcat'e bu yönlendirmeye ilişkin benzersiz yapılandırmalar gerektirmez. Bu nedenle, genellikle Apache'den Tomcat'e isteklerin nasıl yönlendirileceğini açıklayan kılavuzlar da DSpace için çalışmalıdır.