nginx简单代理和域名配置

文章介绍了如何使用Nginx作为反向代理服务器来保护实际应用服务器的IP,包括配置代理服务器地址、请求体和头信息的处理,以及设置SSL证书以实现安全连接。此外,还提到了禁止特定端口访问和设定HTTP状态码重定向的策略。
摘要由CSDN通过智能技术生成

反向代理

反向代理也是在客户端和服务器端的一个代理服务器,但是这个代理服务器的目的是用来保护服务器端的,当外网客户端来访问我们的服务器时为了避免暴露应用服务器的实际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_pass:proxy_pass

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

proxy_pass_request_body:proxy_pass_request_body  on|off

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

proxy_pass_request_headers:proxy_pass_request_headers on|off

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

proxy_set_header:proxy_set_header  field  value

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

proxy_set_body:proxy_set_body  value

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

proxy_connect_timeout:proxy_connect_timeout  time

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

proxy_read_timeout:proxy_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  www. myserver.com      #绑定域名 

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

    root /home/www/ myserver.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

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值