分享web开发知识

注册/登录|最近发布|今日推荐

主页 IT知识网页技术软件开发前端开发代码编程运营维护技术分享教程案例
当前位置:首页 > 代码编程

阿里云上,Ubuntu下配置Nginx,在tomcat中加了https协议就不可以了

发布时间:2023-09-06 01:30责任编辑:蔡小小关键词:配置httptomcat

问题

  阿里云上,Ubuntu服务器,本来部署的是tomcat,并且使用了https 协议。后来为了静态资源分离集成了 nginx,nginx代理跳转到 tomcat。刚开始直接访问http 网址发现,图片会经过nginx 的代码。但是访问https 网址发现,图片还是只走了apache 。

分析

  因为tomcat 配置了ssl证书,而非 nginx配置ssl。所以当浏览器访问域名的时候,域名解析的时候,直接跳转到https服务了,并没有经过nginx的代理。

  tomcat的端口是8080, nginx的端口是80,单单这一点似乎不影响通过域名访问,奇怪。看来如果域名解析使用了ssl证书,使用到证书的服务器即使端口号不是80,也能够直接通过地址访问,不要加端口号。

  下图是域名解析列表,第一条记录就是申请ssl证书时使用到的。

解决办法

1、删除tomcat上配置的ssl 证书,给nginx 添加ssl证书,重新安装部署

可以参看阿里云的文档:

SSL数字证书Tomcat配置部署指导
  https://help.aliyun.com/video_detail/54217.html

SSL数字证书Nginx配置部署指导
  nginx安装证书:https://help.aliyun.com/video_detail/54216.html

具体的操作是在控制台-安全(云盾)-CA证书服务中


2、此时直接使用http 访问会报“400 Bad Request”错

此时需要 nginx 将http请求转发到https请求

所以还需添加配置:

  #让http请求重定向到https请求 ????
  error_page 497 ?https://$host$uri?$args;

原创文章,欢迎转载,转载请注明出处!

阿里云上,Ubuntu下配置Nginx,在tomcat中加了https协议就不可以了

原文地址:http://www.cnblogs.com/acm-bingzi/p/nginxHttps.html

知识推荐

我的编程学习网——分享web前端后端开发技术知识。 垃圾信息处理邮箱 tousu563@163.com 网站地图
icp备案号 闽ICP备2023006418号-8 不良信息举报平台 互联网安全管理备案 Copyright 2023 www.wodecom.cn All Rights Reserved