windows 本地nginx 反向代理的一個例子


一, 需求簡介 :

  1. 公司辦公,開發小團體在局域網內需要用一些應用,比如zookeeper,redis,rabbitmq等(這些軟件都在虛擬機 linux centos7 ).  問題在於公司人比較多, 分的動態ip有可能讓虛擬機橋接模式獲取ip失敗, 占用ip的ip搶不上 .    

  2.更改虛擬機模式, 為NAT, 這樣本機windwos的ip搶的還是很穩定, 這樣用nginx 轉發到 虛擬機里面, 這樣就可以使用. 

二,nginx配置:

  注釋:  

      1. 6278的端口是虛擬機tomcat的端口,本地還需要編譯測試tomcat 8080端口,所以改掉了linux里tomcat的端口 . http協議, 所以配置的是http{ }

      2. 其他zookeeper 的2181端口, rabbitmq的5672端口,redis的6379端口都是tcp鏈接的, 配置stream{ }

      3. 192.168.99.99 是虛擬機NAT模式固定分配的ip. 

      4. 如此, 訪問本機windows的ip比如 10.3.3.100:6278 就能直接轉發到 ,windows內 虛擬機linux 的tomcat  192.168.99.99:6278 端口.

三,軟件環境: 

  本地windows7, linux centos7 , nginx 1.9.0

worker_processes  1;

events {
    worker_connections  1024;
}

#這是http的配置方法
http {
        server {
        listen       6278;
        server_name  localhost;
        #charset koi8-r;
        access_log  logs/host.access.log;
        proxy_set_header X-Forwarded-Host $host;
        proxy_set_header X-Forwarded-Server $host;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        
        location / {
               proxy_pass http://192.168.99.99:6278;
               #proxy_pass http://tomcat_inner;
               proxy_connect_timeout 600;
               proxy_read_timeout 600;
               error_log  logs/error_tomcat_inner.log;
        }
    }
    #負載均衡
    #upstream tomcat_inner { 
    #    server  http://192.168.99.99:6278 weight=8; 
    #}
}
#這是tcp的配置方法
stream {  
    #for zookeeper 
    upstream zookeeper {
        # simple round-robin
        server 192.168.99.99:2181;
    } 
    server {
        listen 2181; 
        proxy_pass zookeeper;
    }

    #for rabbitmq
    upstream rabbit {
        # simple round-robin
        server 192.168.99.99:5672;
    } 
    server {
        listen 5672; 
        proxy_pass rabbit;
    }
    #for redis
    upstream redis {
        # simple round-robin
        server 192.168.99.99:6379;
    } 
    server {
        listen 6379; 
        proxy_pass redis;
    }
}

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM