反向代理

反向代理也是在客户端服务器端一个代理服务器,但是这个代理服务器的目的是用来保护服务器端的,当外网客户端访问我们服务器时为了避免暴露应用服务器的实际ip地址,我们会让客端访问代理服务器然后代理服务器再根据客户端的请求去实际的应用服务器获取响应内容返回客户端。

server{

        listen 443 ssl;

        server_name  代理服务器域名;

      location / {

   

        resolver 8.8.8.8;

        proxy_pass 服务器端地址;

        }

ssl_certificate /root/nginx/cert/xxx.pem;

ssl_certificate_key /root/nginx/cert/xxx.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;

}

proxy_passproxy_pass

URL设置代理服务器的地址可以主机名称、IP地址端口号等形式。

proxy_pass_request_bodyproxy_pass_request_body  on|off

用于配置是否客户端的请求请求发送给代理服务器。

proxy_pass_request_headersproxy_pass_request_headers on|off

用于配置是否客户端的请求的头信息发送给代理服务器。

proxy_set_headerproxy_set_header  field  value

可以更改nginx收到客户请求请求信息,然后将新的请求信息发送给代理服务器

proxy_set_bodyproxy_set_body  value

ngin收到客户端的请求使用指令可以修改request中的body体,然后将请求转发代理服务

proxy_connect_timeoutproxy_connect_timeout  time

nginx服务器与被代理服务之间尝试建立连接的的超时时间默认为60s。

proxy_read_timeoutproxy_read_timeot  time

nginx服务器接收代理服务数据最大等待时间默认为60s。

proxy_send_timeout:proxy_send_timeout time

nginx服务器发送数据至被代理服务器的最大等待时间例如60s内没有发出一个字节默认断开连接默认60s。

proxy_http_version:proxy_http_version  1.0|1.1

nginx 服务器提供代理服务http协议版本

proxy_method:proxy_method method

nginx服务设置请求被代理服务器时使用的请求方法,一般为POST或者GET

proxy_ignore_client_abort:proxy_ignore_client_abort  on|off

客户中断网络请求时,nginx服务是否中断对代理服务器的请求,默认off

proxy_ignore_headers:proxy_ignore_headers  field

nginx服务器接收到代理服务器的响应数据后,不会处理设置的头域

proxy_redirect

proxy_redirect  redirect  replacement; #使用replacement替换redirect

proxy_redirect  default;   #使用location块的uri替换掉 proxy_pass 后的变量

proxy_redirect   off;  #当前作用域下所有 proxy_redirect 指令全部失效

proxy_intercept_errors:proxy_intercept_errors  on|off

该指令开启时,当被代理服务器返回http状态码为400或者大于400时,nginx服务器会使用自己定义使用error_page指令)的响应错误页面,如果为off时直接返回状态

proxy_next_upstream:proxy_next_upstream  status

当被代理的服务器是一个 使用upstream指令配置的一组服务器时,服务器组中的服务器遵循upstream指令配置的的轮训规则,同时也可以使用该指令来设置发生哪些异常时使用组内的下一个服务器处理请求。可选值error | timeout | invalid_header | http_500 | http_502 | http_503 | http_504 | http_403 | http_404 | off …;其中off指无法将请求发送给代理服务器

proxy_ssl_session_reuse:proxy_ssl_session_reuse  on|off

用于配置是否使用基于SSL安全协议的的会话连接https://)被代理服务器,默认开启状态

禁止80 端口

禁止IP直接访问80端口或者禁止非本站域名绑定我们的IP,放到最前一个server上面即可

server{

    listen  80 default;

    server_name    _;

    return 403;

}

域名安全证书配置

    listen      80; 

    server_name  wwwmyserver.com      #绑定域名 

    index index.htm index.html index.php;  #默认文件 

    root /home/wwwmyserver.com;      #网站根目录

include location.conf;          #调用其他规则,也可去除

ssl_certificate /root/nginx/cert/xxx.pem;

ssl_certificate_key /root/nginx/cert/xxx.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;

}

ssl_certificate设置安全证书文件pem路径

ssl_certificate_key设置安全证书文件key的路径

ssl_session_timeout:ssl_session_timeout time

原文地址:https://blog.csdn.net/qq_27871511/article/details/129183932

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任

如若转载,请注明出处:http://www.7code.cn/show_33810.html

如若内容造成侵权/违法违规/事实不符,请联系代码007邮箱suwngjj01@126.com进行投诉反馈,一经查实,立即删除

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注