使用nginx实现https 转发到http服务器 post请求变成get请求_草琳情的博客-程序员宅基地_nginx转发post请求

技术标签: post请求变成get  nginx 代理post请求  

项目背景: 需要做一个小程序的后台服务器; 因为线上小程序只能访问 https接口, 为了方便少修改后台服务器使用ngin作为代理:

 

1.nginx 配置安装openssl 模块:

Nginx开启SSL模块:

切换到源码包:

cd /usr/src/nginx-1.5.9

查看nginx原有的模块

/usr/local/nginx/sbin/nginx -V

 在configure arguments:后面显示的原有的configure参数如下:

--prefix=/usr/local/nginx --with-http_stub_status_module

二:从新配置SSL模块:
进入nginx源码包目录,运行:

./configure --prefix=/usr/local/nginx --with-http_stub_status_module --with-http_ssl_module

配置完成后,运行命令make命令:

make

注意:此处不能进行make install,否则就是覆盖安装

 

三:替换已安装好的nginx包
替换之前先备份:

cp /usr/local/nginx/sbin/nginx /usr/local/nginx/sbin/nginx.bak

先停止nginx服务:

//从容停止Nginx:

/usr/local/nginx/sbin/nginx -s quit 

//快速停止Nginx:

/usr/local/nginx/sbin/nginx -s stop 

 

将刚刚编译好的nginx覆盖掉原有的nginx

cp ./objs/nginx /usr/local/nginx/sbin/

 

然后启动nginx,仍可以通过命令查看是否已经加入成功

/usr/local/nginx/sbin/nginx -V

 

此时应该显示为即配置成功:

configure arguments: --prefix=/usr/local/nginx --with-http_stub_status_module --with-http_ssl_module

 

2.配置nginx

证书可以自己生成,也可以在阿里云购买一个免费的.

server {
        listen  443 ssl; #nginx 版本大于1.15
        server_name  henanhz.cn;
        root html;


        ssl_certificate cert/henanhz.cn.pem;
        ssl_certificate_key cert/henanhz.cn.key;
        ssl_session_timeout 5m;
        ssl_ciphers ECDHE-RSA-AES128-GCMSHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4;
        ssl_protocols TLSv1 TLSv1.1 TLSv1.2; #使用该协议进行配置。
        ssl_prefer_server_ciphers on;

        location / {
            root   html;
            index  index.html index.htm;
        }


        location /km_server{ # 这里一定要少一个斜杠 不然会出现post请求转发成get请求
#               proxy_method POST;
                proxy_pass http://a.cn;
#               proxy_redirect off;
#               proxy_set_header X-Real-IP $remote_addr;
#               proxy_set_header XForwarded-For $proxy_add_x_forwarded_for;
        }

然后再添加一个配置: 因为https转发htpp请求默认转发到80端口.然后再转发到7070自己的服务器.

   server {
        listen 80;
        server_name a.cn;
        location /{
            proxy_pass http://localhost:7070;
            proxy_set_header X-Real-IP $remote_addr;
            proxy_set_header XForwarded-For $proxy_add_x_forwarded_for;

            }

        }

 

 

 

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/caolinqing1/article/details/109237688

智能推荐

DCMM数据管理能力成熟度评估模型学习心得_海阔天空 鱼儿游的博客-程序员宅基地_dcmm数据管理工作总结

DCMM研制背景由于大数据是相对较新的行业,现阶段大数据相关理论的发展相对滞后,特别是数据治理相关的理论。目前国内各家单位更多是采用国际咨询公司的理论框架或者国际数据管理协会的数据管理知识体系作为引导,但是这些理论基本没有考虑国内数据行业发展的现状和特性,且普及程度也有待提高,导致目前国内很多公司在数据管理方面的意识薄弱,管理方式各异,发展相对落后。在这个背景下,由中国电子技术标准化研究院牵头制定了大数据重点标准《数据管理能力成熟度评估模型》,本标准在对国内外相关理论、实践进行充分研究的的基础上,结合国内

inflate()和findViewById()函数的用法_tanjunjie621的博客-程序员宅基地

1.findViewById()是View对象的方法,先通过inflate()方法得到View,调用这个View对象的getViewById()方法,就能得到这个View树上的子View。2.inflate()函数可以通过getSystemService()方法得到,参数是LAYOUT_INFLATER_SERVICE。3.inflate()函数的第一个参数是布局文件的R引用,第二个参数是

我的第一篇博客_small_pupil_1的博客-程序员宅基地

我的第一篇博客你们我你们你们都是程序员,是我所羡慕的对象,那么多发明,那么多科技创新(恕我是小学生,没你们逻辑思维好)我我是一个爱学编程却又学不好的小学生,有问题我会及时向你们多多请教!!!(恕我只写这么点儿,我是第一次写博客,无从下手啊!!!)...

用Python把数组从小到大排序(选择排序)_佳乐一百的博客-程序员宅基地_python对一组数从小到大排序

用Python把数组从小到大排序(选择排序)代码:#coding=utf-8‘’’#选择排序Created on 2019年12月8日@author: LWJ‘’’def findSmallest(arr):smallest = arr[0] #存储最小的值smallest_index = 0 #存储最小元素的索引for i in...

vtkImageReslice: 三维图像切片_Hit_HSW的博客-程序员宅基地_vtk slice切片

#ifndef MAINWINDOW_H#define MAINWINDOW_H#include <QMainWindow>#include <vtkAutoInit.h>VTK_MODULE_INIT(vtkRenderingOpenGL2)VTK_MODULE_INIT(vtkInteractionStyle)#include <vtkSmartPointer.h>#include <vtkImageActor.h>#includ...

linux里常用shell种类_liuyi_刘一的博客-程序员宅基地_linux shell类型

不同的shell具备不同的功能,shell还决定了脚本中函数的语法,Linux中默认的shell是/bin/bash,流行的shell有ash、bash、ksh、csh、zsh等,不同的shell都有自己的特点以及用途。bash大多数Linux系统默认使用的shell,bash shell 是 Bourne shell 的一个免费版本,它是最早的 Unix shell,bash...

随便推点

CentOS7.6上使用docker harbor管理私有仓库_猫爪熊的博客-程序员宅基地

一、安装配置操作系统:CentOS7.6+Docker。使用docker Harbor来管理私有仓库。(一)安装docker、docker-compose、harbor安装docker(需要1.17.06版本以上)。//添加源yum install -y yum-utils device-mapper-persistent-data lvm2yum-config-manager --a...

Myeclipse 2017 CPU占用过高的问题_runrun117的博客-程序员宅基地_myeclipse2017占cpu

占用过高的是Java SE进程,查看原来是使用了IDE自带的JDK1.8解决:进入Myeclipse安装目录,找到myeclipse.ini文件,将-vm参数配置为自己的JDK1.8路径即可

CryptoApi基本函数总结_焦三仙本仙的博客-程序员宅基地_certaddencodedcertificatetostore

1,CertOpenSystemStore打开系统最常用的证书存储区域。假如需要满足复杂的需要,请看CertOpenStore HCERTSTORE WINAPI CertOpenSystemStore( HCRYPTPROV hprov, //CSP句柄,NULL为默认句柄,或者由CryptAcquireContext返回 LPTCSTR szSubsystemProtocol //

虚拟机性能监控与故障处理_li563868273的博客-程序员宅基地_已检测到虚拟机监控程序,将不显示hv

命令工具java开发人员肯定都知道JDK的bin目录中有”java.exe”,”javac.exe”这两个命令行工具,但并非所有程序员都了解过jdk的bin目录之中其他命令行程序的作用。 下面先概括介绍下作用: jps:显示指定系统内所有的HotSpot虚拟机进程。 jstat:用于收集HotSpot虚拟机各方面的运行数据。 jinfo:显示虚拟机配置信息。 jmap:生成虚拟机的内存转储

ffmpeg常用的命令__小陌_的博客-程序员宅基地

转组播流ffmpeg -re -i /media/1.mpg -r 1800  -c copy -f mpegts udp://239.1.1.1:7000ffmpeg -re -i ./test.ts -vcodec copy -acodec copy -f mpegts udp://239.168.1.212:8888?pkt_size=13161.1. 发送H.264裸流

Unity-AssetBundle包管理器(AssetBundleManager)1.官方Demo简析_祝你万事顺利的博客-程序员宅基地

本文由 祝你万事顺利 出品,转载请注明出处。官方开源的AssetBundle Manager Demo。AssetBundle Manager是官方推出的一个AB包管理器,但是此管理器已经不再AssetStore中支持了,通过上面的链接我们仍然可以看到AB包管理器实现的源码。这里官方的Demo作为一个参考,实际使用根据项目的具体情况会有所不同,本文对官方的Demo进行解析,在实际使用中对...

推荐文章

热门文章

相关标签