admin 管理员组文章数量: 887006
准备:
(1)首先需要注册和备案一个域名,比如www.leboop
(2)需要一台服务器,这里以腾讯云服务器为例,自行购买
(3)在服务器上安装好JDK和Tomcat(本例以Tomcat服务器为例)
如果上面都已经准备好,此时可以正常访问http://www.leboop,出现的是tomcat页面,如下:
如果不能正常访问,请检查腾讯云安全组,如图:
这里通过创建自定义安全组,放开了22/80/443/3389端口。tomcat默认情况下,端口是8080,这个端口在自定义安全组中并没有放开,我们可以在conf/server.xml中修改端口号,默认如下:
<Connector port="8080" protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="8443" />
将8080修改成80即可。
上面只能通过http访问页面,而不能通过https访问,而且还被Google Chrome浏览器标记为不安全,开发小程序时,小程序请求也只支持https或者wss协议,不支持http协议。如图:
所以将http转换成https安全访问迫在眉睫。事实上,http是互联网上应用最为广泛的一种网络协议,是一个客户端和服务器端请求和应答的标准(TCP),用于从WWW服务器传输超文本到本地浏览器的传输协议,它可以使浏览器更加高效,使网络传输减少;而https是以安全为目标的http通道,简单讲是http的安全版,即在http上加入SSL层,https的安全基础是SSL,因此加密的详细内容就需要SSL。下面通过腾讯云下载一个免费的ssl证书。
登录腾讯云,打开SSL证书管理如图:
可以申请免费证书,如图:
直接点击确定即可。按照步骤填写一些信息,申请成功后,如图:
点击下载,解压后目录结构,如图:
目录下提供了四种服务器SSL证书(Apache、IIS、Nginx、Tomcat),我们以Tomcat服务器为例。Tomcat目录下有两个文件,如下:
下面来配置Tomcat,首先执行shutdown.sh关闭tomcat服务器,将下载的Tomcat证书www.leboop.jks上传到tomcat的conf目录下(与server.xml同目录),然后打开server.xml文件,在80端口的connector前添加如下的connector:
<Connector port="443" protocol="HTTP/1.1" SSLEnabled="true"
maxThreads="150" scheme="https" secure="true"
keystoreFile="conf/www.leboop.jks"
keystorePass="b567rn3rdfv4qu"
clientAuth="false" sslProtocol="TLS" />
有两个参数需要修改
(1)keystoreFile
这里是conf/www.leboop.jks,就是jks文件的相对路径,根据自己的域名情况配置
(2)keystorePass
直接将keystorePass.txt内容拷贝过来即可
配置好后,保存。重启Tomcat,此时就可以访问https://www.leboop了,同时也可以访问http://www.leboop。如果修网访问http://www.leboop时自动跳转到https://www.leboop,我们下面继续配置,
- 打开 conf 目录下的
web.xml
文件,找到</welcome-file-list>
标签。 - 在
</welcome-file-list>
下面换行,并添加以下内容:
<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>
打开同目录下的 server.xml
文件,将 redirectPort 参数修改为 SSL 的 connector 的端口,即443端口。如下所示:
<Connector port="80" protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="443" />
这时,访问http://www.leboop时,自动跳转到https://www.leboop。
中间在配置过程中,出现了无法关闭tomcat,错误如下:
[root@VM_16_3_centos logs]# shutdown.sh
Using CATALINA_BASE: /root/soft/apache-tomcat-8.5.39
Using CATALINA_HOME: /root/soft/apache-tomcat-8.5.39
Using CATALINA_TMPDIR: /root/soft/apache-tomcat-8.5.39/temp
Using JRE_HOME: /root/soft/jdk1.8.0_144
Using CLASSPATH: /root/soft/apache-tomcat-8.5.39/bin/bootstrap.jar:/root/soft/apache-tomcat-8.5.39/bin/tomcat-juli.jar
Apr 10, 2019 9:37:05 AM org.apache.catalina.startup.Catalina stopServer
SEVERE: Could not contact [localhost:[8005]]. Tomcat may not be running.
Apr 10, 2019 9:37:05 AM org.apache.catalina.startup.Catalina stopServer
SEVERE: Catalina.stop:
java.ConnectException: Connection refused (Connection refused)
at java.PlainSocketImpl.socketConnect(Native Method)
at java.AbstractPlainSocketImpl.doConnect(AbstractPlainSocketImpl.java:350)
at java.AbstractPlainSocketImpl.connectToAddress(AbstractPlainSocketImpl.java:206)
at java.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java:188)
at java.SocksSocketImpl.connect(SocksSocketImpl.java:392)
at java.Socket.connect(Socket.java:589)
at java.Socket.connect(Socket.java:538)
at java.Socket.<init>(Socket.java:434)
at java.Socket.<init>(Socket.java:211)
at org.apache.catalina.startup.Catalina.stopServer(Catalina.java:504)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at org.apache.catalina.startup.Bootstrap.stopServer(Bootstrap.java:406)
at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:498)
原因是没有启动完毕,执行了关闭,因为购买的腾讯云服务器配置比较低,tomcat启动比较慢。需要等待几分钟,在访问页面时,也不要觉得是配置有问题,请耐性等待一会。
版权声明:本文标题:腾讯云将网站从http转换成https 内容由网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:http://www.freenas.com.cn/jishu/1732342258h1532612.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论