学习配置https,以及一些服务器安装部署流程,在tomcat和nginx中安装配置https。
[toc]
一. 阿里云免费证书的申请下载
参考:https://common-buy.aliyun.com/?spm=5176.2020520163.cas.85.3b102b7arJW2wy&commodityCode=cas#/buy
传送门
购买成功后,按照对应流程下载配置。
相关配置参考:https://help.aliyun.com/video_detail/54217.html?spm=5176.2020520163.cas.80.3b102b7arJW2wy
传送门
二. 配置注意问题
- 端口号的更改,https默认的端口号为443.
- 证书路径的修改
- 协议的修改
- 证书密码的修改
blog相关参考: http://imtianx.cn/2017/09/22/tomcat_set_https/
传送门
三. 防火墙端口的开放
vim /etc/sysconfig/iptables
在文件中添加:
-A INPUT -p tcp -m state –state NEW -m tcp –dport 443 -j ACCEPT
当然,也可以在阿里云的后台管理系统,去设置安全组策略来开放端口。
四. 测试
重启tomcat,使用https://willhappy.cn
测试。
五. 番外(nginx + tomcat + https)
上面说了关于web项目单独在tomcat容器中配置https, 但是,现在现在大部企业都是采用nginx作为反向代理服务器,tomcat只做数据服务的提供者,所以,简单再说下关于nginx的https证书安装和配置。
1. 关于nginx安装
网上已经相当多了,可参考传送门.
2. nginx配置https证书
类似与tomcat的https配置,参考传送门, 视频参考传送门.
我的配置文件nginx.conf
:
server {
listen 443;
server_name willhappy.cn; #拦截的域名
ssl on;
root html;
index index.html index.htm;
ssl_certificate cert/XX.pem; #你自己申请的证书文件
ssl_certificate_key cert/XX.key; #私钥文件
ssl_session_timeout 5m;
ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4;
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
ssl_prefer_server_ciphers on;
location / {
proxy_pass http://whome; #提供数据服务的服务器
proxy_set_header Host $http_host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
}
upstream whome{
server localhost:8080;
}
配置tomcat的server.xml可直接通过ip进行项目的访问
<Host name="localhost" appBase="webapps"
unpackWARs="true" autoDeploy="true"
xmlValidation="false" xmlNamespaceAware="false">
<Context path="" docBase="/usr/local/tomcat/webapps/whome" reloadable="true" />
</Host>
3. 启动测试
启动nginx,可能会出现错误:
[emerg] 10464#0: unknown directive “ssl” in /usr/local/nginx-0.6.32/conf/nginx.conf:74
这是因为没有将ssl模块编译进nginx,在configure的时候加上“–with-http_ssl_module”即可
[root@localhost nginx-1.4.4]# ./configure --prefix=/usr/local/nginx --user=www --group=www --with-http_stub_status_module --with-http_ssl_module
nginx安装包中重新配置,编译。
再次通过https://willhappy.cn
,访问测试,配置成功。
注意:我们只能通过https://willhappy.cn 方式访问才是安全访问,通过willhappy.cn还是普通的http访问,所以,要通过两种方式都可以安全访问,还需要配置一下。
参考传送门,未做测试。可以自己尝试一下,嘻嘻