测试环境有个需求:由于别人的后台带了cookie验证,cookie赖依域名,需要用nginx把别人的https代理转发一下:
后来又发现response跨域,
需要清除’Access-Control-Allow-Origin https://abc.xxx.xxx:80’,再重新自定义添加Response Headers ,*Access-Control-Allow-Origin: ,
more_clear_headers依赖nginx的 more_clear_headers模块,百度了半到,在google才找到;
nginx.conf
openssl genrsa -out privkey.pem 1024/2038
openssl req -new -x509 -key privkey.pem -out server.pem -days 365
证书信息可以随便填或者留空,只有Common Name要根据你的域名填写。如xxx.com,或使用*.xxx.com匹配二级域名。
server {
listen 443 ssl;
#listen 443;
server_name 10.10.123.228;
# server_name_in_redirect off;
ssl_certificate cert_h5_sdmc/server.pem; #添加证书服务
ssl_certificate_key cert_h5_sdmc/privkey.key;
#ssl_session_timeout 5m;
ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4;
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
ssl_prefer_server_ciphers on;
location ~ / {
proxy_pass https://pbdebugaccess.xxx.xxx; # 代理请求服务器列表
#client_max_body_size 100M;
#proxy_set_header Host $host;
#proxy_set_header X-real-ip $remote_addr;
#proxy_set_header X-Forwarded-For $remote_addr; # 后端的Web服务器可以通过X-Forwarded-For获取用户真实IP
proxy_set_header Cookie 'country_code=153505; guid=0BE2B34A580FFA0019B365334D6973C3; vplatform=8; country_code=153505; video_appid=1200012; lang_code=1491963; status=1; end=1970-01-01';
proxy_set_header origin 'https://abc.xxx.xxx:80'; #增加request增加origin
proxy_set_header referer 'https://abc.xxx.xxx:80'; #增加request增加referer
proxy_set_header authority 'pbaccess.xxx.xxx';
proxy_set_header method 'POST';
more_clear_headers 'Access-Control-Allow-Origin'; #清除response的header,依赖headers-more-nginx-module模块,已安装
more_clear_headers 'Access-Control-expose-Headers'; #清除response的header,依赖headers-more-nginx-module模块,已安装
add_header Access-Control-Allow-Origin '*'; #增加response的header
add_header Access-Control-Allow-Methods 'GET, POST, OPTIONS'; #增加response的header
add_header Access-Control-Allow-Headers 'DNT,X-Mx-ReqToken,Keep-Alive,User-Agent,X-Requested-With,If-Modified-Since,Cache-Control,Content-Type,Authorization'; #增加response的header
index index.html index.htm;
}
}
OpenResty 是一个通过扩展 nginx 的快速 Web 应用服务器。
Nginx Openresty For Windows (NOW) 是带有 Openresty 的 Windows 版本中的 Nginx。
它有一些特点:
高性能
并发两万多个连接
多进程
支持共享内存
支持udp代理
与 nginx 原始版本相比修复的各种错误
它已符合这些官方模块:
http_realip_module
http_addition_module
http_sub_module
http_dav_module
http_stub_status_module
http_flv_module
http_mp4_module
http_gunzip_module
http_gzip_static_module
http_auth_request_module
http_random_index_module
http_secure_link_module
mail
http_ssl_module
mail_ssl_module
http_v2_module
and these addon module:
和这些插件模块:
array-var-nginx-module
ngx_devel_kit
ngx-coolkit-module
echo-nginx-module
form-input-nginx-module
encrypted-session-nginx-module
set-misc-nginx-module
ngx-postgres-module
ngx-lua-module
ngx_lua_upstream
headers-more-nginx-module
rds-json-nginx-module
nginx-http-concat-module
redis2-nginx-module
and these C module for Lua:
以及这些用于 Lua 的 C 模块:
lua-cjson
lua-redis-parser
lua-rds-parser
Openresty_For_Windows 下载地址:https://download.csdn.net/download/hezhenfei8/52741090
参考:
https://www.cnblogs.com/magotzis/p/9456695.html
nginx学习笔记(一) 用nginx实现本地https请求转http请求
https://blog.csdn.net/h330531987/article/details/81481426
通过nginx实现https以及https二级域名转发
https://awesomeopensource.com/project/LomoX-Offical/nginx-openresty-windows
Nginx Openresty Windows