【发布时间】:2017-07-05 00:58:30
【问题描述】:
我正在尝试使用 SSL 证书在 apache2 上配置我的 Spring Boot 应用程序,但在将其投入生产之前,我无法理解我正在执行的所有步骤是否正确。我需要使用 https 并将所有呼叫从 80 重定向到 443
所以,我的jar应用部署在8080端口,所以我先用这种方式编辑了我的/etc/apache2/sites_available/000-default.conf
<VirtualHost *:80>
ServerName www.example.com
ServerAdmin webmaster@localhost
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
ProxyPreserveHost On
ProxyPass / http://localhost:8080/
</VirtualHost>
当我只需要普通的 http 时,这效果很好
现在我有一个 CA 证书,我将 crt 和密钥放入 /etc/apache2/ssl/certs/ 和 /etc/apache2/ssl/private/ 并编辑了
default-ssl.conf
这样
<IfModule mod_ssl.c>
<VirtualHost _default_:443>
ServerAdmin webmaster@localhost
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,以及我遵循的工作流程是否正确
【问题讨论】: