nginx配了https后,后端怎么请求http啊

我一个服务器上安了一个nginx,放了一组静态网页,然后配置了https协议,但是静态网页里面

请求的是本机上一个springboot的项目,端口是8080,我现在访问不了接口,nginx怎么配置啊

-1

2个回答

像这种nginx负载均衡器都是具备https去壳功能,外部请求访问nginx,采用的协议是https,nginx与web服务器是http协议,使用代理就可以了。我贴一个demo配置供参考:

user root root;

worker_processes  8;

error_log /usr/local/nginx/logs/error.log info;

pid     /usr/local/nginx/nginx.pid;

worker_rlimit_nofile 65535;

events {
        use epoll;
        worker_connections  65535;
}

http {
        include       mime.types;
        default_type  application/octet-stream;
        sendfile        on;
        tcp_nopush      on;
        gzip            on;
        keepalive_timeout 30;
        keepalive_requests 10;
        client_header_buffer_size 4k;

        open_file_cache max=65535 inactive=60s;
        open_file_cache_valid 80s;
        open_file_cache_min_uses 1;
        open_file_cache_errors on;


        geo $whiteiplist {
                default 1;

                127.0.0.1/32    0;
                218.245.64.130/32       0;
                101.90.254.10/32        0;
        }
        map $whiteiplist $limit{
                1 $binary_remote_addr;
                0 "";
        }
        limit_req_zone $limit zone=ips:10m rate=20r/m;

        upstream testLB {
                server 192.168.40.4:101 weight=5;
                server 192.168.40.4:102 weight=5;
                server 192.168.40.4:103 weight=5;

                check interval=3000 rise=2 fall=5 timeout=1000 type=http;
                check_http_send "GET /hello HTTP/1.0\r\n\r\n";
                check_http_expect_alive http_2xx http_3xx;
        }

        server {
                listen       80;
                server_name  lyf-test-http;

                ssl                  on;
                ssl_certificate      /usr/local/nginx/conf/_.xxx.com.crt;
                ssl_certificate_key  /usr/local/nginx/conf/_.xxx.com.key;
                ssl_session_timeout  5m;
                ssl_protocols  SSLv2 SSLv3 TLSv1;
                ssl_ciphers  HIGH:!aNULL:!MD5;
                ssl_prefer_server_ciphers   on;

                location / {
                        limit_req zone=ips burst=5 nodelay;

                        root   html;
                        index  index.html;
                        proxy_pass http://testLB;
                        proxy_http_version 1.1;
                        proxy_set_header X-Real-IP $remote_addr;
                        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
                }
                location /nginx/monitor {
                        allow 218.245.64.130;
                        deny all;
                        access_log off;

                        stub_status on;
                }
                location /nginx/backend/health/check {
                        allow xxx.xxx.xxx.xxx;
                        deny all;
                        access_log off;

                        check_status;
                }
        }
}
0

功能很全了,包含IP白名单,IP限流,负载均衡,健康检查,真实IP、监控等功能

0
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
其他相关推荐
使用nginx作为反向代理解决前后端分离时前端https,后端http造成访问无法被加载
最近公司要开发一个项目,移动端,web端,微信小程序.起初我们使用全部是http协议,前后端分离,使用nginx作为静态资源服务器,这种部署方式很常见,网上都可以搜的到.后来因为要让百度搜索录入词条,审核必须是https的网站,于是使用ssl证书申请了https,上一篇博客里面有介绍.至此静态资源都可以正常走https访问!但是,如果和后端做交互,发送ajax请求或者要获取http资源的时候,就会...
nginx反向代理走http+https通道,后端走http通道,导致前台获取不到后台https内容的处理
前言: 目前我公司使用的服务器架构为前台为nginx反向代理,后端为单台web服务器或者集群,目前的配置是这样的,nginx反向代理配置了,http和https通道,但是后端服务器配置为http通道。 平时没有什么大问题,后来用户访问网站的时候,访问https,发现代码中引用的url为http,因此获取不到网页内容。 配置内容: 前台nginx反向代理配置 server { liste...
前后端分离项目配置Nginx、配https及http强制跳转https
本篇文章主要解决以下几个问题: 前后端分离项目如何配置Nginx 配置https协议访问 开启http访问但强制跳转https访问 基本的安装就不多说了,直奔主题。 本文基于ubuntu系统,另外假定有几个前提条件: 主机地址为192.168.10.10 后端项目启动端口为192.168.10.10:8000 前端代码会调用后端的info和test两个url地址 前端静态文件目录 /var/...
nginx系列-06-nginx配置https并转发请求至后端tomcat-商用https证书
前言 环境准备 申请https证书 nginx启用https tomcat-serverxml配置 效果预览 前言上一篇,我们介绍了nginx启用https,但是使用的证书是私有CA颁发的。 这种私有证书出来个人练习或者在内部使用外,还真不知道有什么其他用途。现在,我们来体验体验真正的商用https证书。1 环境准备 域名 本人这里是在阿里云买的域名 只要你想买的域名不是 google.com或
nginx通过ssl反代至后端http服务
nginx端配置: http { ## # Basic Settings ## sendfile on; tcp_nopush on; tcp_nodelay on; keepalive_timeout 65; types_hash_max_size 2048; # server_tokens off; # server_names_hash_buck
https请求Nginx转发给tomcat时变成http问题解决
1 Nginx对应server的location添加配置 将referer的请求scheme信息,用来作为当前请求的scheme,如此可以保证所有的请求都是同一个scheme,不会因为redirect而遗漏信息。 proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-F...
nginx 将http请求转发到https请求
nginx的rewrite方法   思路 这应该是大家最容易想到的方法,将所有的http请求通过rewrite重写到https上即可   配置 server { listen 192.168.1.111:80; server_name test.com; rewrite ^(.*)$ https://$host$1 permanen
了解Nginx HTTP代理、负载均衡、缓冲和缓存
提供:ZStack云计算 前言本文将讨论Nginx的HTTP代理功能,该功能可以将前端请求转发到后端服务器。规模较大的应用经常会使用Nginx作为反向代理,以处理后端服务器处理不了的请求量。我们还将讨论Nginx的负载均衡(load balancing)功能,以及如何使用缓冲(buffer)和缓存(cache)提高代理的性能。有关代理的基本概念如果你之前只配置过最简单的Web服务,那么最好先了解一下
Nginx SSL 结合Tomcat 重定向URL变成HTTP的问题
本文转自:链接地址 问题 由于要配置服务器(Nginx + Tomcat)的SSL的问题(Nginx同时监听HTTP和HTTPS),但是,如果用户访问的是HTTPS协议,然后Tomcat进行重定向的时候,却变成了HTTP. 解决办法 Nginx 配置 代理的配置,要添加以下内容 proxy_set_header Host $host; proxy_set_h
nginx 反向代理web应用将https请求转成http请求时,必须注意事项
通过nginx可以实现将https请求转成http请求。有一项配置必须要添加(查看大多数配置均为对此进行提及): proxy_set_header WL-Proxy-SSL true; //weblogic启效 proxy_set_header X-Forwarded-Proto $scheme; //tomcat启效
后端tomcat不开启https,用nginx反向代理使网站同时支持http和https协议总结
网站架构如下:1、修改nginx配置文件,注释处都是修改要注意的地方        listen 80;         listen 443 ssl;#添加ssl支持         server_name localhost;         #ssl on;#不要开启,否则只能用https,访问http会报nginx 400错误 ...
nginx 配置https 并解决重定向后https协议变成了http的问题
nginx 配置https 并解决重定向后https协议变成了http的问题 配置如下: server { listen 80; server_name localhost; return 301 https://localhost$request_uri; charset UTF-8; location / { root html; ...
nginx中配置https的服务页面中引用http资源问题
今天在跟同事联调需求的时候,发现他们请求我们的http地址都被强制转换成了https,还好我们用nginx做了负载。在nginx的https模块中配了相应的代理后,请求可以正常转发。但是发现页面显示的资源不全有问题。解决这个问题需要在location 正则匹配里面增加如下:add_header Content-Security-Policy upgrade-insecure-requests;
关于Ngnix配置HTTPS后,静态资源还是请求http
Ngnix 静态资源HTTPS与HTTP请求 近几年,越来越多的网站开始支持https,我们可以看到国外的比如github、谷歌、facebook;国内的有百度、淘宝、博客园、coding.net、worktile等一系列的网站。 我再最近的开发中,涉及到了一部分。由于安全考虑,项目需要HTTPS支持,所以我简单整理了一下,说一下有关于前端这边HTTPS的应对方案。 那么什么是HTT
nginx 反向代理https配置
配置nginx 反向代理httpsserver { listen 443 ;#ssl http2 default_server; server_name xxxx.com; # access_log logs/quancha.access.log main; # error_log logs/quancha.error.log; #root
解决Nginx+Tomcat中https转http请求问题
今天遇到一个问题,在配置Nginx的https请求,tomcat使用http时,请求静态资源会报Mixed Content: The page at 'https://a.b.com/detail?id=5' was loaded over HTTPS, but requested an insecure script 'http://a.b.com/xxxxxxx'. This request h
[nginx] 给http网站访问加https
只需要给服务器配置SSL证书信息就可以了1.申请域名SSL证书,方式有很多,本例是再腾讯云申请了一个免费证书。需要一点时间审核,审核通过之后,下载证书待用2.去nginx配置文件中加入如下配置,server {    listen 443;        server_name XXXXX.com; #填写绑定证书的域名        ssl on;        ssl_certificate ...
nginx从http重定向到https
使用nginx把http重定向到https 背景: 1、没有加S的网页容易被嵌入广告 2、没有www的网页,微信支付调用不起来,够坑吧! 解决方案: 1、将http重定向到https 2、将 domain.com 跳转到 www.domain.com 必备知识: 1、http 默认为 80 端口 2、https 默认为 443 端口 ...
利用云负载均衡和nginx实现http转https处理
简写说明:CLB 云负载均衡CVM 云主机http://www.abc.com域名解析->CLB->nginx(rewrite)->CLB->CVM1、CVM2...CVMnhttps://www.abc.com域名解析->CLB->CVM1、CVM2...CVMn为什么不直接:域名解析->nginx->CLB->CVM?域名解析只能指向一个I...
Nginx静态资源服务器开启https配置及http rewrite到https
生成秘钥生成秘钥key:openssl genrsa -des3 -out server.key 2048然后你就获得了一个server.key文件. 以后使用此文件(通过openssl提供的命令或API)可能经常回要求输入密码,如果想去除输入密码的步骤可以使用以下命令:openssl rsa -in server.key -out server.key服务器证书的申请文件server.csrop
解决Nginx+Tomcat下客户端https请求跳转成http的问题
Nginx上开启https,  后端使用Tomcat,  两者间走http协议, 但发现如果tomcat应用存在跳转时, 则客户端浏览器会出现400 Bad Request的错误, 通过抓包发现原因是302跳转响应的Location头中的URL是http协议的,  在tomcat的端号采用非标准80端口时会导致客户端出现400.  解决方案是修改nginx.conf, 让nginx将302跳转响应
Nginx配置https 后 http强制跳转到https的方法
我司的环境是,同一个ip,绑定多个2级域名,访问每个2级域名都要有https(解决单IP多站点 https://域名乱跳网站的问题) 我司采用的是方案5 核心思路:重定向,只是写法不同     一、Nginx安装(略) 安装的时候需要注意加上 --with-http_ssl_module,因为http_ssl_module不属于Nginx的基本模块。 Nginx安装方法: 1 ...
nginx https反向代理http的配置方法
某些场景下会使用到https通过nginx反向代理http的服务的情况,配置如下: [code="java"]upstream mobileapi { server 10.1.10.13:80 weight=1 max_fails=1 fail_timeout=60s; } server { server_name ...
关于localhost访问特别快而nginx配置代理后转发特别慢的解决
关于localhost访问特别快而nginx配置代理后转发特别慢的解决背景解决过程 背景 本地启动一个web应用,在采用localhost:port的方式访问的时候特别流畅,因为访问其它资源涉及到跨域问题所以采用nginx配置代理,结果采用nginx代理后网页有几个但不是全部的静态资源加载特别慢,最终可能会引发504网关超时的问题。 解决过程 定位肯定是nginx的问题,查看nginx日志发现,正...
nginx配置https同时http请求转发到https上
#user nobody; worker_processes 1; #error_log logs/error.log; #error_log logs/error.log notice; #error_log logs/error.log info; #pid logs/nginx.pid; events { worker_connections 1...
nginx 配置http请求重定向至https
在某些站点配置并监听https协议之后,则希望用户访问http的时候也跳转至https,那么需要在nginx中将http重定向至https协议,配置如下:server{ listen 80; #侦听80端口 server_name host.domain.com; location / { rewrite ^(.*)$ https://$server_
转发http请求到https
1、Nginx配置https 示例: #前台配置 upstream front { server 39.104.73.18:9001; server 123.56.43.70:8077 backup; } server { listen 80; server_name www.mzjrj.com; rewrite ^ https://$server_name$request_...
【nginx】— nginx内部http和https请求的转换
今天遇到一个问题,公司内部系统需要对接交行app接口,内部系统请求地址基于http协议,交行app请求地址基于https协议,此时需要nginx作为中间代理服务器分发请求,并起到负载均衡的效果。为了打通连接,所以需要在nginx内部实现http和https的转换。首先先大概了解下http协议和https协议的差异:    HTTP:是互联网上应用最为广泛的一种网络协议,是一个客户端和服务器端请求和...
nginx http模块 http过滤模块
request    连接池    在linux系统中,每一个进程能够打开的文件描述符fd是有限的,而每创建一个socket就会占用一个fd,这样创建的socket就会有限的。在Nginx中,采用连接池的方法,可以避免这个问题。    Nginx在实现时,是通过一个连接池来管理的,每个worker进程都有一个独立的连接池,连接池的大小是worker_connecti
Nginx安装配置SSL证书并强制http跳转到https
申请免费https证书https://login.wosign.com/reg.html 先查看一下nginx是否有安装http_ssl_module,我这个是安装了https模块的,如果没有这个模块就需要nginx平滑升级添加ssl实现站内https。 可以参考http://www.open-open.com/lib/view/open1451624143370.html
haproxy 看到的是https,后台是http的原因
https://www.zjtest6.com/admin/api/menu haproxy 日志; Jun 24 13:23:02 localhost haproxy[23205]: 192.168.33.29:56800 [24/Jun/2016:13:23:02.677] www~ appserver_3000/webhost01_8001 2/0/6/12/20 200 154 -
Nginx配置Https访问,tomcat无法正确获取schema的问题
Nginx配置Https访问,反向代理tomcat,发现两个问题: (1)redirect之后的schema全变成了http。 (2)request.getSchema()全部返回http。 对于(1)解决办法:参考:http://blog.csdn.net/mr_smile2014/article/details/51701878 server { listen 80 def
nginx部署http服务以及转换成https
我这里是把http的服务放到了home下面,index.html的页面在/home/wwwroot/default下,这里指向index.html的路径,server_name指向要重载的域名,这个域名需要注意的是一定要已经生效了的,可以是一级域名也可以是二级域名基本到这里就完成了http转换成https这里获取SSL认证就不记录了,阿里云比较简单可以获取下来如图所示修改配置完成了重启nginx,...
nginx服务器由http转换成https
1、要有一个外网ip 2、把外网ip绑定一个域名 3、用这个域名去申请https的证书 4、配置nginx
nginx不同端口映射到80端口,http和https同时请求
重点location / { proxy_pass http://localhost:8090; proxy_redirect default ; } location /xcx/{ proxy_pass http://localhost:8091/; proxy_redirect default; } 如果想通过 http://localhost:/xcx/a.
Nginx实现根据域名http、https分发配置示例
这篇文章主要介绍了Nginx实现根据域名http、https分发配置示例,本文同时介绍了openssl证书生成方法,需要的朋友可以参考下 tomcat端口:8080 做好虚拟主机 nginx端口:80 根据域名分派 在conf/nginx.conf中的http中增加 复制代码代码如下: include www.jb51.net.conf
nginx 反向代理https
原来我用vertx创建了一个https apiserver,想着用nginx反向代理一下。证书是阿里云上免费一年的。后来发现nginx要反向代理https自己也必须是https。这样我索性把vertx的ssl去掉了。直接用nginx的。我的nginx的配置文件在/etc/nginx,可以用whereis nginx查看。从阿里云下载证书for nginx 1.在目录下创建cert目录,并且将下载的...
nginx设置支持https请求(阿里云服务器)
1.在阿里云注册免费ssl证书 这里需要注意,要按照顺序点击按钮,否则看不到免费型DV SSL, 剩下的信息就比较简单了 域名和一些用户信息 2.审核通过后下载nginx证书 3.配置nginx 在nginx.conf同目录下创建cert文件夹, 并把下载压缩包中的key和pem文件上传到的cert文件夹下 在nginx.conf加入https支持 #HTTPS...
nginx自动将http转换为https
#配置负载均衡服务器(采用IP Hash算法,相同客户IP会转发到相同服务器)upstream backendServermall80{ ip_hash; server 192.168.10.91:8080;}server{ #设置监听端口 listen 80;#设置服务器域名(IP访问和多域名访问可不设置)#server_name _*; server_name www.test.com;rew
nginx访问http80端口自动跳转https443端口
80和443端口协议 80 HTTP协议 超文本传输协议、通过HTTP实现网络上超文本的传输。 443 HTTPS 安全超文本传输协议。 nginx配置80和443通用配置。 [root@bensongtan ~]# grep -v "#" /usr/local/nginx/conf/nginx.conf ...... server { listen 80; ...
文章热词 设计制作学习 机器学习教程 Objective-C培训 交互设计视频教程 颜色模型
相关热词 mysql关联查询两次本表 native底部 react extjs glyph 图标 python怎么学啊 产品经理怎么学习啊