如今谷歌等厂商大力推行https协议,若是你的网站不支持https,在使用谷歌浏览器时,会被警告网站不安全。w(゚Д゚)w,不安全?哪里不安全了?OK,那我改为支持https好吧。关于http怎么不安全,https又怎么安全了,下篇文章再讨论。html
申请阿里云免费SSL证书nginx
首先,咱们须要去购买一个SSL证书。目前阿里云上有免费证书购买,有效期一年。apache
依次点击完成申请,审核事后便可在控制台的SSL证书页面看到本身的证书了。 选择须要使用的服务器类型。 浏览器
如上图所示,点击对应服务器类型的帮助按钮能够查看Tomcat7的证书安装方法,可是我使用的是Tomcat8,踩了一些坑,在这里额外说一下。tomcat
基本配置完成后以下:安全
<Connector port="8443" protocol="org.apache.coyote.http11.Http11NioProtocol" maxThreads="150" SSLEnabled="true"> <SSLHostConfig> <Certificate certificateKeystoreFile="D:/apache-tomcat-8.5.15/cert/xxx.pfx" certificateKeystoreType="PKCS12" certificateKeystorePassword="填写密码" /> </SSLHostConfig> </Connector>
最近我给本身的服务器添加了Nginx代理,因此学习了下Nginx配置Https。若是使用了Nginx来做为网站入口,那么Tomcat就没必要配置SSL证书了。直接配置Nginx的SSL证书便可。服务器
修改Nginx配置文件nginx.conf,将本来的http配置全删掉,直接改为重定向到https便可。(除非你想要http和https都支持) 以下:session
server { listen 80; server_name erictao2.com www.erictao2.com; rewrite ^ https://$http_host$request_uri? permanent; }
添加一段配置rewrite ^ https://$http_host$request_uri? permanent;
便可重定向到https。 而后再新增一个server配置:学习
server { listen 443 ssl; server_name erictao2.com www.erictao2.com; ssl_certificate /etc/nginx/cert/1157188_erictao2.com.pem; ssl_certificate_key /etc/nginx/cert/1157188_erictao2.com.key; ssl_session_cache shared:SSL:1m; ssl_session_timeout 5m; ssl_ciphers HIGH:!aNULL:!MD5; ssl_prefer_server_ciphers on; if ($host != 'www.erictao2.com'){ rewrite ^/(.*)$ www.erictao2.com/$1 permanent; } location / { root html; index index.html index.htm; proxy_pass http://127.0.0.1:8080/; } }
将其中的ssl_certificate
和ssl_certificate_key
改为本身对应的文件便可。而后重载Nginx配置,输入命令nginx -s reload
。网站
完成以上步骤后,再次访问本身的网站就能看到url上多了https,谷歌浏览器也认可你的网站是安全网站了。