日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

nginx端口转发+域名映射

發布時間:2023/12/20 编程问答 27 豆豆
生活随笔 收集整理的這篇文章主要介紹了 nginx端口转发+域名映射 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

前段時間在Centos7下成功搭建了apache文件服務器 → 時光隧道

如上圖,我只能通過IP+端口的方式來訪問,現在我想提升一下逼格,通過自定義域名就可以訪問,比如my.apache.com!說干就干!!!

1、端口轉發

I、修改配置文件

目前我要訪問文件服務器,需要輸入IP+端口,如果不想輸端口(默認80端口),就要做80端口轉8000端口。
首先想到的是采用nginx做端口轉發,可以通過在nginx.conf中添加配置(盡量不要改動里面的配置,出現錯誤很難察覺)

vi /usr/local/nginx/conf/nginx.conf

添加以下配置

然后在nginx.conf同級目錄創建my.apache.conf,輸入以下內容:

server {listen 80;server_name my.apache.com;location / {proxy_pass http://localhost:8000;} }
II、訪問

現在我們嘗試一下用自定義的域名訪問

發現是訪問不了的,此時我想到了本地域名映射!

2、域名映射

I、修改配置文件

打開本地hosts文件,文件路徑為:

C:\Windows\System32\drivers\etc

II、訪問

刷新頁面,可以發現可以訪問了


:試驗證明,proxy_pass http://localhost:8000; 中host改為真實IP會報錯

查看錯誤日志:


剛開始我就是寫的真實IP,一直報這個。后來看到一位博友說localhost也不行,要改成127.0.0.1。于是把它改成127.0.0.1,沒想到真的可以。我又試試改成localhost,事實證明也是可以的。

3、負載均衡

I、項目準備

此次演示負載均衡的項目很簡單,就是一段獲取本機地址的代碼,如下:

@GetMapping("/host")public JsonData host(){try {InetAddress addr = InetAddress.getLocalHost();return JsonData.buildSuccess(addr.getHostAddress());} catch (UnknownHostException e) {e.printStackTrace();}return null;}
II、環境搭建

部署環境我是準備用三臺機器(一臺機器+兩臺docker搭建的環境),其中一臺部署nginx,轉發請求到另外兩臺部署了項目的機器。部署項目的機器地址分別是172.17.0.7和172.17.0.8。

III、配置文件

核心就是nginx的配置文件了,nginx.conf配置如下:

就只加了上圖紅框的配置,意思是引用其他的配置文件。我認為nginx.conf就應該這么配置,盡量不要去修改原配置,只需要引用外部配置文件就行了!
然后我們在/usr/local/nginxconf目錄中添加 .conf 結尾的配置文件(前綴隨意),內容如下:

upstream www_server_pools {server 宿主機ip:8082;server 宿主機ip:8083; } server {listen 8081;server_name www_server_pools;location / {proxy_pass http://www_server_pools;proxy_set_header Host $host;proxy_set_header X-Forwarded-For $remote_addr;proxy_redirect default;proxy_buffer_size 512k;proxy_buffers 6 512k;proxy_busy_buffers_size 512k;proxy_temp_file_write_size 512k;client_max_body_size 100m;} }

說明:我是用docker在宿主機上搭建了兩臺機器環境(搭建方法),分別用8082和8083映射兩臺docker的8082(項目地址就是8082)。所以我訪問 http://宿主機ip:8081/api/v1/user/host 就可以轉發到宿主機 ip:8082 或宿主機 ip:8083 ,然后映射到docker中的8082。nginx默認負載均衡策略為輪詢。

總結

以上是生活随笔為你收集整理的nginx端口转发+域名映射的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。