今天公司要求給一臺nginx反向代理服務(wù)器做ip限制,居然要求在維護(hù)時(shí),只要2個(gè)ip可以訪問網(wǎng)站頁面,其他ip只能訪問維護(hù)頁面,我居然想都沒想就說可以實(shí)現(xiàn),現(xiàn)在想來真的太大膽了點(diǎn),好了,經(jīng)過幾小時(shí)的琢磨還真搞出來了.
系統(tǒng):centos 5.5
環(huán)境:nginx反向代理,ip是192.168.10.5
后端服務(wù)器,ip是192.168.10.150
1.先做好nginx反向代理和后端服務(wù)環(huán)境
這里就不說怎么做了,大家自己網(wǎng)上去找nginx反向代理是怎么做的吧.
2.在反向代理設(shè)置
大家可以看下我的nginx反向代理conf文件:
004 | worker_rlimit_nofile 65535; |
006 | error_log /var/log/nginx/error.log; |
008 | pid /var/run/nginx.pid; |
012 | worker_connections 65535; |
017 | default_type application/octet-stream; |
018 | log_format main '$remote_addr - $remote_user [$time_local] "$request" ' |
019 | '$status $body_bytes_sent "$http_referer" ' |
020 | '"$http_user_agent" "$http_x_forwarded_for"' ; |
022 | access_log /var/log/nginx/access.log main; |
024 | server_names_hash_bucket_size 128; |
025 | client_header_buffer_size 4k; |
026 | large_client_header_buffers 4 32k; |
027 | client_body_in_file_only clean; |
028 | client_max_body_size 8m; |
037 | keepalive_timeout 60; |
048 | fastcgi_intercept_errors on; |
051 | fastcgi_hide_header X-Powered-By; |
056 | gzip_http_version 1.0; |
059 | gzip_types text/plain application/x-javascript text/css application/xml image/gif image/jpg image/jpeg image/png; |
061 | proxy_hide_header Vary; |
066 | upstream 192.168.10.5 { |
067 | server 192.168.10.150:9000; |
073 | root /var/www/vhosts/wwwroot; |
074 | error_page 503 /503.html; |
078 | proxy_set_header Host $host; |
079 | proxy_set_header X-Real-IP $remote_addr; |
080 | proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; |
082 | if ($remote_addr = '192.168.10.24' ) { |
085 | if ($remote_addr = '192.168.10.169' ) { |
093 | error_page 401 403 404 /503.html; |
095 | location = /503.html { |
096 | root /var/www/vhosts/wwwroot; |
100 | error_page 500 502 503 504 /50x.html; |
102 | location = /50x.html { |
103 | root /var/www/vhosts/error; |
106 | include /etc/nginx/conf.d/*.conf; |
可以看到我的反向代理指向的10.150的9000端口,然后去/var/www/vhosts/wwwroot設(shè)置503內(nèi)容:
cd /var/www/vhosts/wwwroot
vi 503.html
the is 503!!
只讓192.168.10.24和192.168.10.169可以訪問后端網(wǎng)站,其他ip都訪問503.html.
3.在后端服務(wù)器設(shè)置
cd /var/www/vhosts
vi index.html
the is 10.150!!
4.重啟nginx進(jìn)行驗(yàn)證
service nginx reload
在192.168.10.24的瀏覽器上輸入http://192.168.10.5:9000/,可以看到是允許訪問后端網(wǎng)站的
在192.168.10.19的瀏覽器上輸入http://192.168.10.5:9000/,可以看到是不允許訪問后端網(wǎng)站的
好了,收工.
附件下載:
nginx指定限制.rar 1.19KB
標(biāo)簽: nginx 限制 ip 禁止 反向代理 訪問 指定