反向代理
反向代理也是在客户端和服务器端的一个代理服务器,但是这个代理服务器的目的是用来保护服务器端的,当外网客户端来访问我们的服务器时为了避免暴露应用服务器的实际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的路径。文章来源:https://www.toymoban.com/news/detail-430337.html
ssl_session_timeout:ssl_session_timeout time文章来源地址https://www.toymoban.com/news/detail-430337.html
到了这里,关于nginx简单代理和域名配置的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!