Nginx如何在不實用域名的情況下,做反向代理?

網絡開發之進階之路


大家好,我是可樂君,一名帝都程序猿。很高興能為大家回答這道問題。


配置反向代理,可以使用一個IP+路由轉發 實現,如下圖:


具體步驟如下:

1.配置站點1。


server {
listen 80; #端口號
server_name 127.0.0.1; #站點域名
root /var/www/html; #站點根目錄
index index.html index.htm index.php;
}



2.配置站點2。


server {
listen 80; #端口號
server_name 127.0.0.2; #站點域名
root /var/www/html; #站點根目錄
index index.html index.htm index.php;
}




3.配置反向代理服務器站點。


server {
listen 80; #端口號
server_name 111.111.111.11; #站點域名
location / { #關鍵配置,請求轉發到站點1
proxy_pass http://127.0.0.1;
}

location /api { #關鍵配置,請求轉發到站點2
proxy_pass http://127.0.0.2;
}
}


總結,這是一個最簡單的模型,當然了站點1 或者站點2 可以是與反向代理在一個機器上(域名可以都是localhost的不同端口),也可以是在同一個內網的不同機器上。



最後說一點 , 學習是一個不斷解決問題、不斷積累經驗的過程, 關於nginx配置 、負載均衡等更多場景,歡迎我關注我。

可樂君的收藏夾


日常使用Nginx 做反向代理,就是解決跨域的一個重要方法。很多生產環境都是內網環境,而有時候又會遇到需要外網能夠訪問的這種需求。這個時候就可能會需要用到Nginx 做反向代理。

server

{

listen 80;

server_name 192.168.1.*;

location / {

proxy_redirect off;

proxy_set_header Host $host;

proxy_set_header X-Real-IP $remote_addr;

proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;

proxy_pass http://192.168.1.88:8080;

}

access_log logs/access.log;

}

可以看到這就是最簡單的反向代理,內網的ip為1.88,當通過外網地址請求進來以後,就直接通過Nginx 轉發到1.88的8080端口上面。這樣就完成了反向代理。

有的時候會將server_name綁定為一個域名,然後再將這個域名與實際的外網ip地址做綁定,這個就得根據業務需求去設定了。


猿人生活


用ip?


Y歪88


使用ip地址


分享到:


相關文章: