구성 컨텍스트: http, 서버 또는 위치.
리소스 압축, 도메인 간 액세스, 리칭 방지 등의 시나리오가 포함될 수 있습니다.
리소스 압축 구성 컨텍스트: http, 서버 또는 위치
교차 도메인 구성 컨텍스트: http, 서버 또는 위치
핫링크 방지 구성 컨텍스트: 서버, 위치
구성 참조
<span style="font-size: 14px;">vi /etc/nginx/conf.d/default.conf<br></span>
<span style="font-size: 14px;">server {<br> ...<br> <br> # 开启sendfile,提高网络包的传输效率<br> sendfile on;<br> <br> # 配置图片资源的存放路径及压缩方式<br> location ~ .*\.(jpg|gif|png)$ {<br> gzip on;<br> gzip_http_version 1.1;<br> gzip_comp_level 2;<br> gzip_types text/plain application/javascript application/x-javascript text/css application/xml text/javascript application/x-httpd-php image/jpeg image/gif image/png;<br> # 图片防盗链配置 <br> # 不指定referer 协议不正确 放行指定IP 放行SEO优化<br> valid_referers none blocked 39.104.116.91 ~/google\./;<br> if ($invalid_referer) {<br> return 403;<br> }<br> root /opt/app/code/images;<br> }<br><br> # 配置txt|xml资源的存放路径及压缩方式<br> location ~ .*\.(txt|xml)$ {<br> gzip on;<br> gzip_http_version 1.1;<br> gzip_comp_level 1;<br> gzip_types text/plain application/javascript application/x-javascript text/css application/xml text/javascript application/x-httpd-php image/jpeg image/gif image/png;<br> root /opt/app/code/doc;<br> }<br> # 缓存与跨域场景配置<br> location ~ .*\.(html|htm)$ {<br> #给返回报文添加Cache-Control、Expires头,控制缓存<br> #expires 24h;<br> #允许跨域到指定域<br> add_header Access-Control-Allow-Origin http://somehost.com;<br> add_header Access-Control-Allow-Methods GET,POST,PUT,DELETE,OPTIONS;<br> root /opt/app/code;<br> }<br><br>}<br></span>
정방향 프록시는 클라이언트 프록시입니다. 클라이언트는 대상 주소에 대한 액세스 요구 사항을 충족하도록 프록시 서버를 설정합니다.
Nginx는 이 프록시 서버 역할을 할 수 있습니다
구성 참조
<span style="font-size: 14px;">vi /etc/nginx/conf.d/default.conf<br></span>
<span style="font-size: 14px;">server {<br> ...<br> # 可能会涉及到DNS域名解析<br> resolver 8.8.8.8;<br> location / {<br> # 原封不动的让自己转发客户端的请求<br> proxy_pass http://$http_host$request_uri;<br> }<br>}<br></span>
역방향 프록시는 서버 측 프록시입니다. 클라이언트로부터 실제 서버 주소를 숨깁니다.
구성 참조
<span style="font-size: 14px;">vi /etc/nginx/conf.d/default.conf<br></span>
<span style="font-size: 14px;">server {<br>location / {<br> #Real Server地址<br> proxy_pass http://127.0.0.1:8080;<br> include proxy_params;<br> }<br>}<br></span>
<span style="font-size: 14px;"># 其他代理配置独立出去,方便复用<br>vi /etc/nginx/proxy_param<br></span>
<span style="font-size: 14px;"># default就可以了。除非返回301的场景,可能需要改写<br>proxy_redirect defalut;<br><br>#配置header信息,让Real Server了解实际客户端信息<br>proxy_set_header Host $http_host;<br>proxy_set_header X-Real-IP $remote_addr;<br><br>#一些代理超时设置<br>proxy_connect_timeout 30;<br>proxy_send_timeout 60;<br>proxy_read_timeout 60;<br><br>#代理缓冲区设置<br>proxy_buffer_size 32k;<br>proxy_buffering on;<br>proxy_buffers 4 128k;<br>proxy_busy_buffers_size 256k;<br>proxy_max_temp_file_size 256k;<br></span>
참조 구성
<span style="font-size: 14px;">vi /etc/nginx/conf.d/default.conf<br></span>
<span style="font-size: 14px;">upstream backend {<br> server 192.168.1.101:8001;<br> server 192.168.1.102:8002;<br> server 192.168.1.102:8003 down;<br> server 192.168.1.103:8004 backup;<br>}<br>server {<br> ...<br> location / {<br> # 代理到upstream组<br> proxy_pass http://backend;<br> include proxy_params;<br> }<br>}<br></span>
서버 추가 매개변수
업스트림 그룹의 서버 뒤에는 다음 매개변수가 지원됩니다.
매개변수 | 설명 |
---|---|
down | 로드 밸런싱에 참여하지 않습니다 |
backup | 예약 백업 섬기는 사람. 다른 노드가 서비스를 제공하지 않는 경우에만 서비스를 제공합니다 |
허용된 요청 실패 횟수 | |
max_fails 실패 후 서비스가 일시 중지되는 시간 | ㅋㅋㅋ 지침 |
휠 쿼리 |
가중 폴링
ip_hash | |
---|---|
least_conn | 연결 수가 가장 적은 머신 |
url_hash | 이 할당됩니다. 에 따르면 URL 매개변수의 해시 결과 |
hash 키 값 | hash 사용자 정의 키 |
<span style="font-size: 14px;"># 加权轮询<br>upstream backend {<br> server 192.168.1.101:8001 weight=5;<br> server 192.168.1.102:8002;<br> server 192.168.1.102:8003 down;<br> server 192.168.1.103:8004 backup;<br>}<br></span> <span style="font-size: 14px;"># IP HASH<br>upstream backend {<br> ip_hash;<br> server 192.168.1.101:8001;<br> server 192.168.1.102:8002;<br> server 192.168.1.102:8003 down;<br> server 192.168.1.103:8004 backup;<br>}<br></span> <span style="font-size: 14px;"># 最少连接数<br>upstream backend {<br> least_conn;<br> server 192.168.1.101:8001;<br> server 192.168.1.102:8002;<br> server 192.168.1.102:8003 down;<br> server 192.168.1.103:8004 backup;<br>}<br></span> <span style="font-size: 14px;"># URL HASH<br>upstream backend {<br> url_hash;<br> server 192.168.1.101:8001;<br> server 192.168.1.102:8002;<br> server 192.168.1.102:8003 down;<br> server 192.168.1.103:8004 backup;<br><br></span>관련 권장 사항: |
nginx 속도 제한 연결 수 제한 자세한 설명 |
php에서 Nginx를 사용하여 역방향 프록시를 구현하는 방법 |
위 내용은 Nginx 시나리오 적용 기술 공유의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!