前后端分离系统使用Nginx代理https地址
记一次服务由http转成https的nginx配置问题,nginx基础的一些配置就不在这边说了。
使用了nginx的gzip压缩功能:用于提升用户访问前端页面的速度
http {include mime.types;default_type application/octet-stream;log_format main '$remote_addr - $remote_user [$time_local] "$request" ''$status $body_bytes_sent "$http_referer" ''"$http_user_agent" "$http_x_forwarded_for"';#access_log logs/access.log main;sendfile on;#tcp_nopush on;#keepalive_timeout 0;keepalive_timeout 65;#前端页面压缩,提升用户访问速度gzip on;#设置缓冲区大小gzip_buffers 4 16k;#压缩级别官网建议是6gzip_comp_level 6;#压缩的类型gzip_types text/plain application/javascript text/css application/xml text/javascript application/x-httpd-php; client_max_body_size 50m;……
代理前端:
前端使用https的默认端口:443,将443端口转发到前端端口8080。
证书需要放到服务器上,这里我将证书放到了/opt/nginx/conf/certs/目录下。
server {#https默认端口443listen 443 default ssl;#配置域名server_name 域名;#配置证书ssl_certificate /opt/nginx/conf/certs/_.域名_bundle.crt;ssl_certificate_key /opt/nginx/conf/certs/域名_RSA.域名_RSA.key;ssl_certificate /opt/nginx/conf/certs/_.域名_sm2_sign_bundle.crt;ssl_certificate_key /opt/nginx/conf/certs/域名_SM2.域名_SM2.key;ssl_certificate /opt/nginx/conf/certs/_.域名_sm2_encrypt_bundle.crt;ssl_certificate_key /opt/nginx/conf/certs/域名_SM2.域名_SM2.key;ssl_protocols TLSv1 TLSv1.1 TLSv1.2;ssl_ciphers ECC-SM4-SM3:ECDH:AESGCM:HIGH:MEDIUM:!RC4:!DH:!MD5:!aNULL:!eNULL;ssl_prefer_server_ciphers on;access_log logs/access_qd.log main;#将443端口转发到前端端口8080location / {proxy_set_header Host $host:8080;proxy_set_header X-Real-IP $remote_addr;proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;proxy_pass http://ip:8080;}error_page 500 502 503 504 /50x.html;location = /50x.html {root html;}}
配置后端:
后端使用8082端口进行代理,将8082端口转发到后端端口8081。
因为我的服务用到了websocket,需要对websocket进行单独代理,否则连接不上。
server {#nginx代理后端端口listen 8082 ssl;#配置域名server_name 域名;#配置证书ssl_certificate /opt/nginx/conf/certs/_.域名_bundle.crt;ssl_certificate_key /opt/nginx/conf/certs/域名_RSA.域名_RSA.key;ssl_certificate /opt/nginx/conf/certs/_.域名_sm2_sign_bundle.crt;ssl_certificate_key /opt/nginx/conf/certs/域名_SM2.域名_SM2.key;ssl_certificate /opt/nginx/conf/certs/_.域名_sm2_encrypt_bundle.crt;ssl_certificate_key /opt/nginx/conf/certs/域名_SM2.域名_SM2.key;ssl_protocols TLSv1 TLSv1.1 TLSv1.2;ssl_ciphers ECC-SM4-SM3:ECDH:AESGCM:HIGH:MEDIUM:!RC4:!DH:!MD5:!aNULL:!eNULL;ssl_prefer_server_ciphers on;access_log logs/access_hd.log main;#如果使用了websocket需要单独代理location ~/webSocket/ {access_log logs/come-websocket.log;proxy_pass http://ip:8081;proxy_http_version 1.1;proxy_set_header Upgrade $http_upgrade;proxy_set_header Connection 'Upgrade';}#将8082端口转发到后端端口8081location / {proxy_set_header Host $host;proxy_set_header X-Real-IP $remote_addr;proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;proxy_pass http://ip:8081;}error_page 500 502 503 504 /50x.html;location = /50x.html {root html;}}
配置好之后启动nginx。
前端访问后端的地址为:https://域名:8082,用户访问前端地址为https://域名。
完成~
前后端分离系统使用Nginx代理https地址相关推荐
- nginx代理https后,spring mvc web应用redirect https变成http
用nginx 代理https后,应用redirect https变成http,导致网站无法访问 浏览器到nginx是https,nginx到应用服务器变成http, 应用服务器,再做302 redir ...
- 前后端分离项目Nginx部署
前后端分离项目Nginx部署 更多详细内容请前往我的个人博客 一.在Linux先安装好Java和Nginx 1.安装Java 下载好Java安装包,解压 [root@jiang java]# ll t ...
- 在 Spring Boot 前后端分离系统中集成 JustAuth 实现第三方账号登录?
" JustAuth 是一个开箱即用的整合第三方登录的开源组件,网上没有搜到它在前后端分离系统中的使用案例,本篇文章将以 QQ 登录为例为大家讲解该场景下的使用步骤,建议收藏 " ...
- nginx 代理https后,应用redirect https变成http --转
原文地址:http://blog.sina.com.cn/s/blog_56d8ea900101hlhv.html 情况说明 nginx配置https,tomcat正常http接受nginx转发. n ...
- nginx代理ws地址
nginx代理ws地址 server {listen 1883;access_log /var/log/nginx/ws.log;location / {proxy_pass http://10.17 ...
- Nginx 代理https
利用Nginx 代理https 转到访问本机 http 的访问,首先需要有证书:手头开发环境下使用了自签名工具生成pfx证书文件: 接着找一个在线的证书格式转化工具,将pfx格式证书提前公钥和私钥. ...
- Nginx代理https接口
Nginx代理https接口,附上Nginx配置文件,详情见注释. server {listen 443 ssl;server_name api.xxx.com;access_log /root/lo ...
- Java精品项目源码第34期前后端分离系统游戏资讯信息管理系统
Java精品项目源码第34期前后端分离系统游戏资讯信息管理系统 大家好,小辰今天给大家介绍一个前后端分离游戏资讯信息管理系统,演示视频公众号(小辰哥的java)对号查询观看即可 文章目录 Java精品 ...
- 前后端分离项目nginx搭建静态页面服务器cors做后台跨域接收前台请求
自己在闲暇时间里,无聊的我试着做了一个前后台分离的入门demo.在编写代码前通过查询百度,csdn,博学谷等做了一些准备工作,具体还只是做到前台发送的请求能顺利的发送到后端,时间仓促做的也有不足之处, ...
最新文章
- 《C++程序设计POJ》《WEEK7 输入输出和模板》《流操纵算子》《文件读写》《二进制文件读写》...
- Java中的executeQuery,java连接数据库executeUpdate() 和executeQuery()
- Linux下查杀病毒
- spring日志报错提醒_使用爬虫框架htmlunit整合springboot出现的一个不兼容问题
- 转:linux的源码查看, c++语法 查看网站
- kvm cobbler无人值守批量安装操作系统
- OpenCV学习(27) 直方图(4)
- lvs工作在第几层_LVS 原理(调度算法、四种模式、四层负载均衡和七层 的区别)...
- graphics | 基础绘图系统(十)——星形图、四瓣图、马赛克图
- SqlServe中使用EXEC @sql 来传递table变量
- 用Python在图片上添加注释信息
- HashTable、ConcurrentHashMap、TreeMap、HashMap关于键值的区别
- 关于小米8玩王者荣耀加载缓慢的情况
- Android,与北岛的诗
- 集束管的一些基础知识
- 农场(JQuery版)
- Parse 教程:网络后台基础
- svn安装并用eclipse集成
- GIF/PNG/JPG和WEBP/base64/apng图片优点和缺点整理
- 一篇文章告诉你什么是量化的统计套利
热门文章
- Spark SQL之External DataSource外部数据源(二)源代码分析
- C专家编程-Chapter6 运行时数据结构(转)
- DirectSound学习笔记(3):协作级别
- java坐标移动题目case_坐标移动
- java blockingqueue_Java多线程进阶(三一)—— J.U.C之collections框架:BlockingQueue接口...
- eureka自我保护时间_阿里面试官问我:到底知不知道什么是Eureka,这次,我没沉默...
- linux raid卷,linux – Areca RAID卷和LVM对齐
- 新版MySQL8.0.22JDBC连接数据库常见问题解决
- linux下mysql的备份_Linux下MySQL的备份与还原
- android tomtom gps location,TomTom智能地图修正 规避不能走的路