在写这篇文章时,我使用的宝塔版本是免费版 6.9.6,这个版本的宝塔Java项目一键开启SSL还是存在问题的。

如果你在Liunx下部署Java还有问题,那么参考我前面的这篇文章:宝塔Linux面板部署Java项目。

在开始开启SSL前,惯例,还是介绍下服务器的环境,不要因为环境相差很多导致部署失败,认为我的文章写的有问题。

1、服务器用的是阿里云

2、系统是CentOS Linux 7.6.1810 (Core)

3、安装了如下软件

Apache 2.4.39

MySQL 5.5.62

PHP-5.6

Java项目管理器

好了,核心环境就介绍到这里,下面开始介绍如何手动开启SSL。

1、首先,申请证书,我习惯用腾讯云的。

因为腾讯的ssl申请比较贴心,申请完成后,Apache、IIS、Nginx、Tomcat的证书都帮我们申请好了

下载完SSL证书后,我们把证书放到/etc/letsencrypt/live目录下。当然你也可以放到其他目录,如果我们使用的是宝塔的面板,宝塔意见SSL之后,都是把证书放到该目录下的,为了方便管理,我们也把SSL证书放到该目录下。

2、因为我用的是apache,所以是在apache下配置SSL的。

在这里,提一句的是,我们上步上传的是Apache下的SSL证书。

我们来到目录/www/server/panel/vhost/apache下,找到你需要开启SSL的网站的配置文件,一般是www.xxx.com.conf文件。

如果你的网站没有配置过https,正常打开,我们是只能看到VirtualHost *:80的配置的,类似如下:

ServerAdmin webmaster@example.com

DocumentRoot "/www/wwwroot/java_cms"

ServerName ba446561.www.xxx.com

ServerAlias www.xxx.com

#errorDocument 404 /404.html

ErrorLog "/www/wwwlogs/www.xxx.com-error_log"

CustomLog "/www/wwwlogs/www.xxx.com-access_log" combined

#引用反向代理规则,注释后配置的反向代理将无效

IncludeOptional /www/server/panel/vhost/apache/proxy/www.xxx.com/*.conf

#DENY FILES

Order allow,deny

Deny from all

#PHP

SetHandler "proxy:unix:/tmp/php-cgi-00.sock|fcgi://localhost"

#PATH

SetOutputFilter DEFLATE

Options FollowSymLinks

AllowOverride All

Require all granted

DirectoryIndex index.php index.html index.htm default.php default.html default.htm

我们复制该段,放到标签后,进行如下修改

ServerAdmin webmaster@example.com

DocumentRoot "/www/wwwroot/java_cms"

ServerName www.xxx.com

ServerAlias www.xxx.com

#errorDocument 404 /404.html

ErrorLog "/www/wwwlogs/www.xxx.com-error_log"

CustomLog "/www/wwwlogs/www.xxx.com-access_log" combined

SSLEngine on

SSLCertificateFile /etc/letsencrypt/live/www.xxx.com/2_www.xxx.com.crt

SSLCertificateKeyFile /etc/letsencrypt/live/www.xxx.com/3_www.xxx.com.key

SSLCertificateChainFile /etc/letsencrypt/live/www.xxx.com/1_root_bundle.crt

#引用反向代理规则,注释后配置的反向代理将无效

IncludeOptional /www/server/panel/vhost/apache/proxy/www.xxx.com/*.conf

#DENY FILES

Order allow,deny

Deny from all

#PHP

SetHandler "proxy:unix:/tmp/php-cgi-00.sock|fcgi://localhost"

#PATH

SetOutputFilter DEFLATE

Options FollowSymLinks

AllowOverride All

Require all granted

DirectoryIndex index.php index.html index.htm default.php default.html default.htm

修改完后保存,在通过https访问该项目,SSL证书就部署好了,还是很简单的吧?

Logo

魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。

更多推荐