XxBlog

knowledge is power

我叫潘潘,来自成都,是一名 Java,Python 开发者,爱好广泛,热爱各种新技术,致力成为一名全栈开发工程师。


Tomcat配置Https证书

###Tomcat配置Https证书 最近做项目的时候时候用到了Paypal支付,目前Paypal推荐使用RESTapi来发起支付,支付之后Paypal服务器会异步回调发起方的服务器,需要在Paypal Developer里面的DASHBOARD中配置WEBHOOKS地址,也就是回调地址,蛋疼的地方来了,Paypal的回调接口地址必须使用Https开头,(国内的支付宝都可以使用http,真是蛋疼,或许这些地方就是Paypal在国内火不起来的一部分原因吧。)好了,废话不多说了,开始操作步骤: ####HTTPS证书

首先需要一张HTTPS证书,这个证书可以自己生成,也可以购买,当然自己生成的证书在浏览器中访问的时候浏览器会提示用户网站的证书不受信任,甚至部分浏览器不能访问。

那么就需要我们去购买一张证书了,当然目前有一些免费的https证书颁发机构,我就找了国内的沃通免费证书,生成很快,大搞10分钟就把证书申请下来了,设置密码,下载证书之后会有不同服务器端的证书,其他端请自行google如何绑定证书。

这里介绍Tomcat的,首先上传证书到服务器,存放在一个安全的路径下,然后进入Tomcat目录,进入conf目录,备份一下server.xml文件,然后编辑server.xml文件,找到下面的配置(默认被注释)。


<!--
    <Connector port="8443" protocol="org.apache.coyote.http11.Http11NioProtocol"
               maxThreads="150" SSLEnabled="true" scheme="https" secure="true"
               clientAuth="false" sslProtocol="TLS" />
-->

然后把注释符号删除,启用这段,修改port为https默认端口443,添加两个参数keystoreFile=”证书文件位置”,keystorePass=”证书密码”。


<Connector port="443" protocol="org.apache.coyote.http11.Http11NioProtocol"
               maxThreads="150" SSLEnabled="true" scheme="https" secure="true"
               clientAuth="false" sslProtocol="TLS" keystoreFile="/home/*.jks" keystorePass="keyPassword"  />

到这部,如果配置正确,重启一下tomcat,应该就是可以通过 https://yourdomin.com 来访问了,当然这个时候是http和https都可以访问,如果需要将http请求自动跳转到https还需要对web.xml进行配置。 在tomcat\conf\web.xml中的</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>  

这样就大功搞成了,全站https。 教程就到这了,继续撸码。

最近的文章

正则表达式初学

什么是正则表达式 正则表达式是通过一些特殊的符号,使用户可以轻松快捷的完成查找、删除、替换等处理程序。正规表示法基本上是一种『表示法』, 只要工具程序支持这种表示法,那么该工具程序就可以用来作为正规表示法的字符串处理之用。 正则表达式的特殊符号 [:alnum:]代表英文大小写字母及数字[:alpha:]代表英文大小写字母[:blank:]代表空格和 tab 键[:cntrl:]键盘上的控制按键,如 CR,LF,TAB,DEL[:digit...…

继续阅读
更早的文章

Ubuntu配置多个Tomcat服务器

###Ubuntu配置多个Tomcat服务器最近参加了一个比赛项目,做服务端,打算把服务暂时部署在自己的服务器上面提供给安卓端的同学测试使用,我的服务端是Ubuntu+Nginx+Tomcat的,然后为了不影响服务器上面以前的其他项目,所以复制了一个Tomcat,下面就用Tomcat7070来描述这个新的Tomcat吧,然后简单的修改了一下:/Tomcat_Home/conf/server.xml这个文件,然后启动了之后一直无法访问,后台测试了好久,把之前的Tomcat8080停了之后再启...…

继续阅读