Nginx+tomcat配置https

2018-01-26 10:31:47来源:网络收集作者:管理员人点击

分享

[var1]问:为什么要用https?

为了数据传输安全。

问:为什么用https传输就安全了?

这里:


http://blog.csdn.net/jasonjwl/article/details/50985271

问:Nginx和tomcat都要配置吗?

不需要都配置。只配置nginx就行。

问:nginx怎么配置https。

1.先去买个证书。


https://www.getssl.cn

引用:



解压后应包含两个文件:


yourdomain.com.crt     (服务器证书)
yourdomain.com.key   (私钥文件)如果为空请将生成CSR时保存的私钥内容粘贴在文件中


环境检测,检测命令如下(测试nginx是否支持SSL)


nginx -V


如果有显示 –with-http_ssl_module 表示已编译openssl,支持安装ssl



如果没有安装请下载nginx源码重新编译


./configure --with-http_stub_status_module --with-http_ssl_module
make && make install


配置Nginx


server {
listen 80;
listen 443 ssl;
server_name www.getssl.cn;
ssl_protocols TLSv1.2 TLSv1.1 TLSv1;
ssl_certificate /etc/ssl/yourdomain.com.crt;
ssl_certificate_key /etc/ssl/yourdomain.com.key;
ssl_prefer_server_ciphers on;
#自动跳转到HTTPS (可选)
if ($server_port = 80) {
rewrite ^(.*)$ https://$host$1 permanent;
}
location / {
root /home/getssl/;
index index.php;
}
}


以上配置仅供参考,其他参数请根据生产环境需要添加。



安装后重启nginx使其生效


centos6
service nginx restart
centos7
systemctl restart nginx


问题排查:



如果使用CDN(加速器),需要在CDN上面安装证书,国内免费加速的都不支持https(已知阿里云cdn支持)



检查443端口是否启动   使用下面命令 netstat -apnt | grep 443    (如果没有启动检查配置文件或者端口是否冲突)



443端口如果已经启动,但不能访问,请检查防火墙(或者安全狗) ,允许443端口.



linux iptables使用下面命令:


iptables -A INPUT -p tcp -m tcp --dport https -j ACCEPT
问:tomcat 如何配置https:


一步: 进入Tomcat安装目录,  d:/apache-tomcat-8.0.18, 把下载的jks文件放在tomcat安装目录即可。


d:/apache-tomcat-8.0.18/getssl.cn.jks


第二步: 打开tomcat配置文件 conf/server.xml



tomcat默认一般是8080端口或者 80端口,先找到这一段。


connectionTimeout="20000"
redirectPort="8443" />


在这段下面插入下面配置:


maxThreads="150" SSLEnabled="true" scheme="https" secure="true" sslEnabledProtocols="TLSv1.2,TLSv1.1,TLSv1"
clientAuth="false" sslProtocol="TLS" keystoreFile="getssl.cn.jks" keystorePass="123456" />
keystoreFile=”getssl.cn.jks”            【 jks 文件名需要修改】keystorePass=”123456″                 【jks密码】


注意事项:


防火墙要允许443端口使用CDN,需要让CDN服务商安装SSLTomcat 6.0上面配置如果无法启动,把protocol修改为 protocol=”HTTP/1.1″windows平台运行tomcat , bin目录下必须有tcnative-1.dll
org.apache.coyote.http11.Http11Protocol - blocking Java connector
org.apache.coyote.http11.Http11NioProtocol - non blocking Java connector
org.apache.coyote.http11.Http11AprProtocol - the APR/native connector.
tomcat 修改DHE大小
-Djdk.tls.ephemeralDHKeySize=2048

微信扫一扫

第七城市微信公众平台