首页
仓库
文档
nginx手册
Docker手册
workerman
Flask
PHP
python
RabbitMQ
其他
Linux
占位1
占位2
目录
###demo 443.conf ``` server { listen 80; listen 443 ssl; server_name www.www.com.cn; ssl_certificate op14/1_www.xxx.com.cn_bundle.crt; ssl_certificate_key op14/2_www.xxx.com.cn.key; ssl_session_cache shared:SSL:1m; 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 / { #root html; #index index.html index.htm; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header REMOTE-HOST $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_pass http://192.168.1.11:8000; } } ``` 80.conf ``` server { listen 80; server_name www.xxx.cn; location / { proxy_pass http://222.2222.222.222:2222; } } ``` 重启 systemctl restart nginx.service 重启失败 systemctl status nginx.service 查看原因 **proxy_pass 被代理服务器URL;** proxy_pass 可以是ip 域名,或者负债均衡一组服务器 子目录中需要注意: ``` location /test/{ proxy_pass http://abc.com; 如果没有/结尾 会保留来源网址的目录 #****.com/test/haha.php --> abc.com/test/haha.php proxy_pass http://abc.com/; --> abc.com/haha.php } ``` **proxy_hide_header field;** 将上游服务器的响应转发给客户端,但默认不会转发以下HTTP头部字段:Date、Server、X-Pad和X-Accel-*。使用proxy_hide_header后可以任意地指定哪些HTTP头部字段不能被转发。 **proxy_pass_header field;** 将上游服务器的响应转发给客户端, 增加一些头部信息发送给客户端. **proxy_pass_request_body on | off;** 是否将客户端请求实体发送给代理服务器 默认on **proxy_pass_request_headers on | off;** 是否将客户端请求的请求头发送给代理服务器。 默认是 on ***proxy_set_header field value;** 更改该nginx服务器收到客户端的请求头信息,然后转发给被代理服务器。 **proxy_set_body fiele value;** 更改nginx服务器收到客户端的实体请求,然后转发给被代理服务器。 **proxy_connect_timeout 60s;** 与被代理服务器建立连接的超时时间; 默认60秒 **proxy_read_timeout 60s;** 与被代理服务器发送read请求后,等待相应的超时时间 默认60秒 **proxy_send_timeout 60s;** 与被代理服务器发送write请求后,等待响应的超时时间. 默认60秒 **proxy_http_version 1.0 | 1.1;** 设置nginx服务器提供代理服务器的http协议; 默认1.0 **proxy_method GET | POST;** 此配置项表示转发时的协议方法名,无特殊需求不用设置. 如果设置POST 那么客户端发来的GET请求在转发时方法名也会改为POST。 **proxy_bind IP;** 强制连接到被代理服务器指定的IP地址,就是后端配置多个IP,强制走那个IP主机处理。 **proxy_ignore_client_abort on | off;** 默认off; 设置客户端网络中断,nginx是否中断对代理服务器的请求。 **proxy_ignore_headers fiele ;** 告知nginx后端服务的响应中的哪些响应头不要去被处理 **proxy_redirect default | off | redirect replacement ;** 默认是 default 常规部署情况下,不需要特别配置proxy_redirect或者配置proxy_redirect default即可 用于修改被代理服务器返回响应头中的location头域和refresh头域. proxy_redirect http://xxx.com http://bbb.com **proxy_intercept_error on | off ;** 如果设置为开启,被代理服务器返回状态大于等于400 讲显示nginx服务器自定义的错误提示页面返回给客户端. **proxy_headers_hash_max_size 大小;** nginx服务器能快速检索http报文头中的信息,申请存放报文头的空间大小。 默认 512字符 **proxy_headers_hash_bucket_size 大小;** 申请存放报文头哈希表的容量单位大小; 默认 64个字符 **proxy_ssl_session_reuse on | off;** 默认开启. 设置是否基于安全是ssl协议会话。 **proxy_next_upstream 指令(可多个);** 在使用负债均衡时,设置发生哪些异常,将请求转交给下一个服务器处理。传输中发生错误不算。 指定应将请求传递到下一个服务器的情况: error # 与服务器建立连接,向其传递请求或读取响应头时发生错误; timeout # 在与服务器建立连接,向其传递请求或读取响应头时发生超时; invalid_header # 服务器返回空的或无效的响应; http_500 # 服务器返回代码为500的响应; http_502 # 服务器返回代码为502的响应; http_503 # 服务器返回代码为503的响应; http_504 # 服务器返回代码504的响应; http_403 # 服务器返回代码为403的响应; http_404 # 服务器返回代码为404的响应; http_429 # 服务器返回代码为429的响应(1.11.13); non_idempotent # 通常,请求与 非幂等 方法(POST,LOCK,PATCH)不传递到请求是否已被发送到上游服务器(1.9.13)的下一个服务器; 启用此选项显式允许重试此类请求; off # 禁用将请求传递给下一个服务器。 **下面的设置都是和每一个请求有关。** nginx服务器尽可能的从被代理服务器响应数据,放在proxy_buffering中, 如果在接收过程中,buffering不够大,将存放在磁盘的临时文件中,一次响应数据被接受完或者buffering满了,就会向客户端传输数据. 如果proxy_buffering 关闭,nginx服务器收到响应数据就会同步传递给客户端,本身不读取完整的响应数据。 **proxy_buffering on | off ;** 设置开启或者关闭; **proxy_buffer 8 4KB;** 接收一次从被代理服务器获取的响应数据的总大小 8*4K。 **proxy_buffer_size 4kb | 8KB;** 一次从被代理服务器获取第一部分的响应数据的大小。 **proxy_busy_buffers_size 大小;** 限制BUSY状态的proxy_buffer的总大小. **proxy_temp_path 路径 层级(多);** 设置临时文件的路径,可以设置在该目录下 多个层级存储。 proxy_temp_path /www/ 1 2 3; 就是/www/目录下 123层目录都行 **proxy_max_temp_file_size 大小;** 设置所有临时文件的总大小 默认是1024M **proxy_temp_file_write_size 大小;** 设置同时写入临时文件的数据量总大小, 8K 或者16K 平台不同,合理设置里面IO负债.