上回我们讲到了NGINX反向代理的基本概念与原理,这次我们就来说说它该怎么实现,跟小编一起看看吧。
先回顾一下之前的原理吧,NGINX反向代理是指以代理服务器方式来接受Internet上的连接请求,然后把请求转发给内部网络上的服务器;并将从服务器上得到的结果返回给Internet上请求连接的客户端,此时代理服务器对外就表现为一个服务器了。
一般代理服务器,只需要于代理内部网络对Internet的连接请求,客户机必须指定代理服务器,并把本来要直接发送到Web服务器上的http请求发送到代理服务器中。如果一个代理服务器能够代理外部网络上的主机,访问内部网络时,它代理服务的方式就称为反向代理服务。
反向代理实现
一、首先在IIS中部署两个站点,localhost:86 、localhost:6000
二、修改C:windowssystem32driversetchosts文件,增加 127.0.0.1 test1.yubay.cn 、127.0.0.1 test2.yubay.cn 两个Ip 域名映射
三、修改Nginx配置文件nginx.conf,增加两个server节点
# user nobody; worker_processes 1;# error_log logs / error.log;# error_log logs / error.log notice;# error_log logs / error.log info;# pid logs / nginx.pid; events { worker_connections 1024; } http { include mime.types; default_type application / octet - stream;# log_format main '$remote_addr - $remote_user [$time_local] "$request" '# '$status $body_bytes_sent "$http_referer" '# '"$http_user_agent" "$http_x_forwarded_for"';# access_log logs / access.log main; sendfile on;# tcp_nopush on;# keepalive_timeout 0; keepalive_timeout 65;# gzip on; server { listen 81; server_name test1.yubay.cn; location / { proxy_pass http: //127.0.0.1:86; index index.html index.htm; } } server { listen 81; server_name test2.yubay.cn; location / { proxy_pass http: //127.0.0.1:5000; index index.html index.htm; } } server { listen 81; server_name localhost;# charset koi8 - r;# access_log logs / host.access.log main; location / { root html; index index.html index.htm; }# error_page 404 / 404. html;# redirect server error pages to the static page / 50 x.html# error_page 500 502 503 504 / 50 x.html; location = /50x.html { root html; }# proxy the PHP scripts to Apache listening on 127.0 .0 .1: 80## location~.php$ { # proxy_pass http: //127.0.0.1; # }# pass the PHP scripts to FastCGI server listening on 127.0 .0 .1: 9000## location~.php$ { # root html;# fastcgi_pass 127.0 .0 .1: 9000;# fastcgi_index index.php;# fastcgi_param SCRIPT_FILENAME / scripts$fastcgi_script_name;# include fastcgi_params;# }# deny access to.htaccess files , if Apache 's document root# concurs with nginx 's one## location~/.ht {# deny all;# } }# another virtual host using mix of IP - , name - , and port - based configuration## server { # listen 8000;# listen somename: 8080;# server_name somename alias another.alias;# location / { # root html;#index index.html index.htm;# }# }# HTTPS server## server { # listen 443 ssl;# server_name localhost;# ssl_certificate cert.pem;# ssl_certificate_key cert.key;# ssl_session_cache shared: SSL: 1 m;# ssl_session_timeout 5 m;# ssl_ciphers HIGH: !aNULL: !MD5;# ssl_prefer_server_ciphers on;# location / { # root html;#index index.html index.htm;# }# } }
四、启动Nginx,start nginx
浏览器访问 http://test1.yubay.cn:81时 、http://test2.yubay.cn:81 就会跳转到我们部署在IIS上的实际站点
五、记得停止nginx ,nginx -s stop
以上就是本文的全部了,想知道更多Java常见问答内容的话,请一直关注我们网站了解吧。