2017-07-04 14 views
0

SSL証明書を使用してapache2にスプリングブートアプリケーションを設定しようとしていますが、実際に運用する前に、すべての手順が正しいかどうかはわかりません。私はhttpsを使用するので、443Apache + SpringBoot + SSL

に80からすべてのコールをリダイレクトする必要があり、私のjarファイルのアプリケーションがポート8080で展開されているので、私は最初、このように

<VirtualHost *:80> 
     ServerName www.example.com 

     ServerAdmin [email protected] 


     ErrorLog ${APACHE_LOG_DIR}/error.log 
     CustomLog ${APACHE_LOG_DIR}/access.log combined 
     ProxyPreserveHost On 
     ProxyPass/http://localhost:8080/ 

</VirtualHost> 

そして、これは素晴らしい仕事をしていたが、私の/etc/apache2/sites_available/000-default.confを編集しました私は単なるHTTP

を必要なときに、今私はCA証明書を持って、私は/etc/apache2/ssl/certs//etc/apache2/ssl/private/にCRTとキーを入れて、

default-ssl.conf 
を編集しましたこのようにこのように

<IfModule mod_ssl.c> 
     <VirtualHost _default_:443> 
       ServerAdmin [email protected] 

       DocumentRoot /var/www/html 


       ErrorLog ${APACHE_LOG_DIR}/error.log 
       CustomLog ${APACHE_LOG_DIR}/access.log combined 


       SSLEngine on 
       SSLCertificateFile  /etc/ssl/certs/xxxxxxxxxxxx.crt 
       SSLCertificateKeyFile /etc/ssl/private/yyyyyyyyyyy.key 
       SSLCertificateChainFile /etc/apache2/ssl/certs/sf_bundle-g2-g1.crt 

    <FilesMatch "\.(cgi|shtml|phtml|php)$"> 
           SSLOptions +StdEnvVars 
       </FilesMatch> 
       <Directory /usr/lib/cgi-bin> 
           SSLOptions +StdEnvVars 
       </Directory> 
    </VirtualHost> 
</IfModule> 

、私は右、Apacheの上でSSLを有効にしている必要がありますか? すべての呼び出しを80から443にリダイレクトする方法とそれに続くワークフローが正しい場合は

答えて

0

残念ですが残念ですが、あなたの質問がSpring Boot 。

ApacheはHTTPサーバーの「単なる」サーバーです。 Springアプリケーションは、TomcatやWildflyなどのアプリケーションサーバーや、Tomcatが組み込まれたスタンドアロンのJARとして実行されます。

私は、Springアプリケーションの前でApacheをプロキシとして使用したいと思いますが、私が見る限り、SSLの設定はSpringには接続されていません。

あなたの質問に対する1つの可能な答えが、その後(ここで説明するように: http to https apache redirection):このようにそれを行うことであろう

NameVirtualHost *:80 
<VirtualHost *:80> 
    ServerName mysite.example.com 
    DocumentRoot /usr/local/apache2/htdocs 
    Redirect permanent/https://mysite.example.com/ 
</VirtualHost> 

<VirtualHost _default_:443> 
    ServerName mysite.example.com 
    DocumentRoot /usr/local/apache2/htdocs 
    SSLEngine On 
</VirtualHost> 
+0

あなたは正しいです、それは春に心配はありません、それだけでアプリケーションと言うことでしたポート8080でリッスンするので、最初にプロキシとして動作するようにApacheに指示してから、443にリダイレクトします。 – besmart

+0

Apacheをプロキシとして機能させたい場合は、(ポート80のような)1つのポート上のすべての着信トラフィックをSpringアプリケーションに転送するように設定します。しかし、 "プロキシ"はこの場合の説明的な用語に過ぎないので、実際にはApacheをプロキシにすることはできません。 SSL暗号化はもう一度別の話です。ポート80でのHTTPトラフィックとポート443でのHTTPSトラフィックを持つことは、標準化された規約にすぎませんが、技術的には、設定した任意のポートでSSL暗号化されたHTTPSトラフィックを持つことができます。 – anothernode