http默认端口80,https默认端口号443
一、购买证书
证书类型分为DV、OV、EV这三种,
DV(域名型SSL):个人站点、iOS应用分发站点、登陆等单纯https加密需求的链接;
OV(企业型SSL):企业官网;
EV(增强型SSL):对安全需求更强的企业官网、电商、互联网金融网站
SSL证书的部署类型又分为了单域名、多域名、通配符等类型
百度云可以免费申请为期一年的单域名证书
二、安装证书
常见的Web服务器分为Nginx、Apache、Tomcat、IIS 6、IIS 7/8这几种
Tomcat
Tomcat 支持JKS格式证书,但从Tomcat7开始也支持PFX格式证书,两种格式任选其一
在Tomcat的安装目录下创建cert目录,并且将下载的全部文件拷贝到cert目录中。
找到安装Tomcat目录下该文件server.xml,找到Connection port="8443" 标签,端口号改为443,并根据证书类型添加如下相应属性:
如果是PFX证书
keystoreFile="cert/你的证书文件名.pfx"
keystoreType="PKCS12"
keystorePass="证书密码"
如果是JKS证书
keystoreFile="cert/你的证书文件名.jks"
keystorePass="证书密码"
重启Tomcat
Nginx
首先在Nginx的安装目录下创建cert目录,将下载的全部文件拷贝到cert目录中。
打开 Nginx 安装目录下 conf 目录中的 nginx.conf 文件,找到“HTTPS server”部分。
指定证书路径,为如下示意并保存:
server {
listen 443;
server_name 你网站的域名;
ssl on;
root html;
index index.html index.htm;
ssl_certificate cert/你的证书文件名.pem;
ssl_certificate_key cert/你的证书文件名.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 / {
root html;
index index.html index.htm;
}
}
重启Nginx,这时候你的站点应该就已经可以通过https方式访问了
三、设置跳转
http强制跳转到https
Tomcat
在conf/web.xml中的</web-app>前加入
<login-config>
<!-- Authorization setting for SSL -->
<auth-method>CLIENT-CERT</auth-method>
<realm-name>Client Cert Users-only Area</realm-name>
</login-config>
<security-constraint>
<!-- Authorization setting for SSL -->
<web-resource-collection >
<web-resource-name >SSL</web-resource-name>
<url-pattern>/*</url-pattern>
</web-resource-collection>
<user-data-constraint>
<transport-guarantee>CONFIDENTIAL</transport-guarantee>
</user-data-constraint>
</security-constraint>
Nginx
server {
listen 80;
server_name 您的域名;
return 301 https://$server_name$request_uri;
}
网友评论