如何搭建https站点的教程
一、申请域名
国内域名注册商:新网互联、万网等;
国外域名注册商:Gododdy、Bluehost等。
大家可以具体自己的需求注册相关域名。
二、购买主机服务器
国内主机服务器提供商:腾讯云、阿里云等;
国外主机服务器提供商:Gododdy、Bluehost等。
大家可以具体自己的需求购买相关主机服务器,另外国外主机服务器有一个非常大的优势,就是无需备案。
三、申请SSL证书
相关教程:《SSL证书/HTTPS域名证书申请步骤》
四、搭建https站点
1、启用nginx的https模块,然后rewrite到https站点
原理:https访问nginx,nginx再重定向到https站点,这种情况一般都是nginx单独作为一台代理服务器,站点作为一台web服务器,另外https都是跟域名挂钩的,因为SSL证书认证的是域名,不是IP,即使你访问百度https://14.215.177.38/,也是会提示证书不信任,因为证书认证的是www.baidu.com,而不是baidu的ip。
2、设置nginx的配置文件:
#HTTPS
server {
listen 8889 ssl;#默认是443,但是我的443端口被占用了,改成了8889
server_name do1shoje.cn;
ssl_certificate ../ca/cert.pem;#上面下载下来的CA证书
ssl_certificate_key ../ca/cert.key;#上面下载下来的秘钥
ssl_session_cache shared:SSL:1m;
ssl_session_timeout 5m;
ssl_ciphers HIGH:!aNULL:!MD5;
ssl_prefer_server_ciphers on;
#rewrite 自己写
}
3、修改tomcat的server.xml文件
#如果不需要nginx,则只配置tomcat就可以了
<Connector port=”8889″ protocol=”org.apache.coyote.http11.Http11AprProtocol”
maxThreads=”150″ SSLEnabled=”true” scheme=”https” secure=”true”
SSLCertificateFile=”D:\ca\cert.pem”
SSLCertificateKeyFile=”D:\ca\cert.key”
SSLProtocol=”TLSv1+TLSv1.1+TLSv1.2″ URIEncoding=”UTF-8″/>
这里请注意protocol=”org.apache.coyote.http11.Http11AprProtocol”这个地方,
tomcat默认的协议是protocol=”org.apache.coyote.http11.Http11Protocol”,这样,HTTPS搭建站点即告一段落,后续通过域名加端口号+项目的URL即可(因为我这里默认的80被用了,所以只能加上端口号,do1shoje.cn不加端口号其实默认是do1shoje.cn:80)
4、将http://跳转至https://
在项目web.xml末尾加上如下配置即可:
<security-constraint>
<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>
然后我们访问Http端口时就会跳转到https协议端口