nginx 配置反向代理转发java项目,并配置SSL实现https

avatar 2020年10月23日11:32:04 7 9633 views
博主分享免费Java教学视频,B站账号:Java刘哥 ,长期提供技术问题解决、项目定制:本站商品点此

不知道为啥访问我的二级域名比如 manland.liuyanzhao.com,http协议默认是https,即自动跳转到 http://manland.liuyanzhao.com。

好像是浏览器的问题,因为我的一级域名是有https的,二级域名默认也强制https了,试了自己电脑、手机、和公司电脑上的浏览器都会这样。

无奈,只能给二级域名强制配置 https 了。

 

因为我最近又弄了一批谷歌云服务器,可惜只能白嫖3个月,配置应该足够。

准备把我之前开发的项目都部署到云服务器上,just do it。

这里主要介绍一下 nginx 配置反向代理和ssl 。

一、启动后台项目

我已经启动了springboot后台项目

nohup java -jar manland.jar &

端口在8014

可以通过 http://34.122.120.40:8014 直接访问

 

二、申请SSL证书

我是在腾讯云后台申请的

1、访问 https://console.cloud.tencent.com/ssl

点击申请免费证书,然后按默认点击下一步

 

2、填写域名和邮箱

点击下一步,使用dns解析验证

3、在域名商那里解析域名

 

4、下载证书

等大概半小时,审核通过,下发证书,然后在图1里下载,将其上传到服务器里,比如我放在 /www/wwwroot/manland/manland.liuyanzhao.com 目录

二、配置 nginx

安装nginx

修改 nginx 配置文件 nginx.conf

在 http 里新增一个 server

server {
	listen       443 ssl;
	server_name  manland.liuyanzhao.com;

	ssl_certificate      /www/wwwroot/manland/manland.liuyanzhao.com/Nginx/1_manland.liuyanzhao.com_bundle.crt;
	ssl_certificate_key  /www/wwwroot/manland/manland.liuyanzhao.com/Nginx/2_manland.liuyanzhao.com.key;

	ssl_session_cache    shared:SSL:1m;
	ssl_session_timeout  5m;
	ssl_ciphers  HIGH:!aNULL:!MD5;

	location / {
	    proxy_pass http://127.0.0.1:8014;
	    index  index.html index.htm index.jsp;
	}
}

 

然后重载 nginx,访问 http://manland.liuyanzhao.com

 

如果需要再添加一个二级域名,同上申请证书下载,然后在 nginx 里 额外在加一个 server 就行,确保里面的 server_name 是域名,证书地址没有错即可

 

三、http跳转https

最后再附一个完整的配置

server {
   listen 80;
   server_name liuyanzhao.com;
   return 301 https://$server_name$request_uri;
}

server {
   listen 80;
   server_name www.liuyanzhao.com;
   return 301 https://liuyanzhao.com$request_uri;
}

server {
	listen       443 ssl;
	server_name  liuyanzhao.com;

	ssl_certificate      /www/wwwroot/sens-parent/liuyanzhao.com/liuyanzhao.com_bundle.crt;
	ssl_certificate_key  /www/wwwroot/sens-parent/liuyanzhao.com/liuyanzhao.com.key;

	ssl_session_cache    shared:SSL:1m;
	ssl_session_timeout  5m;
	ssl_ciphers  HIGH:!aNULL:!MD5;

	location / {
	    proxy_pass http://127.0.0.1:8080;
	    index  index.html index.htm index.jsp;
	    # Host配置以及域名传递
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header REMOTE-HOST $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
	}
}

 

 

 

  • 微信
  • 交流学习,有偿服务
  • weinxin
  • 编程爱好者交流群
  • 资源分享,问题解决,技术交流。QQ群:424285828(新群)
  • weinxin
avatar

发表评论

avatar 登录者:匿名
匿名评论,评论回复后会有邮件通知

  

已通过评论:1   待审核评论数:0
  1. avatar aaa

    你确定这样可以访问成功? 页面可以 接口呢?