Ubuntu18.04配置Tomcat8 Nginx https(免费证书)

Nginx配置https(单向配置)
为服务器生成证书:
使用keytool为Tomcat生成证书,假定目标机器的域名是“localhost”,keystore文件想要存放在“/home/tomcat.keystore”,口令为“password”,使用如下命令生成:
keytool -keysize 4096 -genkey -v -alias tomcat -keyalg RSA -keystore /home/tomcat.keystore -validity 36500
证书文件名称是tomcat.keystore ;“-validity 36500”含义是证书有效期,36500表示100年,默认值是90天 “tomcat”为自定义证书名称,keysize4096为证书大小,为了安全起见,最好设置一下。
接下来在命令行填写必要参数:
1、输入keystore密码:此处需要输入大于6个字符的字符串。
2、“您的名字与姓氏是什么?”这是必填项,并且必须是TOMCAT部署主机的域名或者IP[如:gbcom.com 或者 10.1.25.251](就是你将来要在浏览器中输入的访问地址),否则浏览器会弹出警告窗口,提示用户证书与所在域不匹配。在本地做开发测试时,应填入“localhost”。(这块很重要)
3、你的组织单位名称是什么?”、“您的组织名称是什么?”、“您所在城市或区域名称是什么?”、“您所在的州或者省份名称是什么?”、“该单位的两字母国家代码是什么?”可以按照需要填写也可以不填写直接回车,在系统询问“正确吗?”时,对照输入信息,如果符合要求则使用键盘输入字母“y”,否则输入“n”重新填写上面的信息。
配置Tomcat服务器:
a、(1)打开tomcat配置文件,如:/apache-tomcat-6.0.29/conf/server.xml,修改如下,

去掉注释且修改参数=>(当然也可以不去掉注释,直接将下边这段加在上边这段注释的后边,记得更改里边的keystoreFile、keystorePass 两个参数)


keystoreFile、keystorePass 两个参数,分别是证书文件的位置和的主密码(位置是刚才自动生成的文件存储的位置,密码是刚才设置的密码),在证书文件生成过程中做了设置,(记得开启防火墙(安全组)端口)。
重启Tomcat8,访问https://localhost:8443,会出现一个警告,点击高级,再继续访问该网址即可,为什么会出现警告页面?拜托大哥大姐,这是免费的,RMB=王道。
因为用的是单向,所以不配置让客户端信任服务器证书,配了就访问不了,除非你是买的,那就不用看这篇文章了。
Nginx配置https(单向)
无论是在Linux下还是在Windows下的Cygwin中,进行下面的操作前都须确认已安装OpenSSL软件包。

           生成生成秘钥,得到server.key
           openssl genrsa -out server.key 4096
           
        用CA证书生成终端用户证书,得到server.crt
        复制代码
				openssl x509 \
				  -req \
				  -days 3650 \
				  -CA ca.crt \
				  -CAkey ca.key \
				  -CAcreateserial \
				  -in server.csr \
				  -out server.crt \
				  -extensions req_ext \
				  配置Nginx并实现http跳转https

				server {
							    listen 80;
							    server_name domain.com;
							    rewrite ^(.*) https://$server_name$1 permanent;
							}
							server {
							    listen 443 ssl;
							    server_name domain.com;
							    ssl on;
							    ssl_certificate     /etc/nginx/ssl/domain.com.crt;
							    ssl_certificate_key /etc/nginx/ssl/domain.com.crt;
							    # other
							}
												
			 rewrite ^(.*) https://$server_name$1 permanent;实现跳转
             ssl_certificate     /etc/nginx/ssl/domain.com.crt;
		    ssl_certificate_key /etc/nginx/ssl/domain.com.crt; 证书路径

这是一个思路而已,对我来说是可行的,对于你来说可能就不行,但是可以根据这个思路搜索相对应的知识,相信你就能解决了,苦逼实习小白奉上!!!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值