国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 網站 > Nginx > 正文

nginx反向代理:反向代理二級域名的綁定方法及注意事項

2024-08-30 12:23:03
字體:
來源:轉載
供稿:網友
  1、應用場景
  我們經常會遇到在同一臺服務器建立多個Web站點的情況,普遍的做法是為不同的站點配置不同的端口,這樣就可以用IP:Port的形式訪問。
  但是用IP訪問畢竟不方便,不生動,不容易記憶。那么,我們可以給每個站點綁定不同的域名。(在這里我們僅談公網情況)即使我們只有一個域名,我們可以設置多個二級域名,使用Nginx很容易實現。
  2、基本要求
  通常,網上教程會直接貼一段配置文件的代碼,告訴我們如此這般就Ok了。但我發現很多新手看著教程配置,并不能像博主那樣就Success了,所以接下來我們談一下基本原理。
  首先,要有一個自己能管理的域名,比如我有一個 postmsg.cn 的域名,就可以生出多個子域名,二世三世千萬世……
  其次,有一臺能訪問的公網服務器,可以在這臺服務器上建立自己的Web站點,一個兩個三四個,對應端口不一。
  然后,就是域名和站點的綁定,一個蘿卜一個坑,當然也可以多個蘿卜一個坑……
  3、一般配置
  需要配置的地方有兩個,我們先談首要先決條件,也是有些新手容易忽略的地方。
  (1)域名配置
  把域名的A記錄解析指向我們的公網服務器,這一點一般人都能想到。解析的時候只能加IP,是不能帶端口號的,即只能使用默認的80端口。(不討論域名轉發)
  若想實現子域名綁定,在域名解析的時候必須配置合理。否則只靠Nginx是不行的。
  例如我要把子域名  p.postmsg.cn 綁定到 服務器的 8001端口,我首先要保證訪問 p.postmsg.cn 的請求能到達該服務器,然后Nginx才能處理。
  此時,要么在域名A記錄解析里加一條 p 的主機記錄,要么主機記錄里有通配符 * 的配置(*.postmsg.cn的訪問全部解析到對應的服務器,慎用),只設置@和www肯定是不行的。
  (2)主機配置
  域名的請求到達主機之后,一切才可以交給Nginx來處理。
  修改Nginx配置的時候,可以直接在默認配置文件(例如/etc/nginx/nginx.conf,如以下代碼片段所示)里修改,也可以在某個目錄下新建獨立的配置文件,然后 include 這個目錄下的配置文件(如第17行所示)。
  http {
  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 /var/log/nginx/access.log main;
  sendfile      on;
  tcp_nopush     on;
  tcp_nodelay     on;
  keepalive_timeout  65;
  types_hash_max_size 2048;
  include       /etc/nginx/mime.types;
  default_type    application/octet-stream;
  include /etc/nginx/conf.d/*.conf;
  }
  這是Nginx讀取配置文件的格式,我們的配置通常寫在 http { } 塊里,加上 server 塊,在server塊里配置。剛才也說了,server塊可以寫在一個單獨文件里,在nginx.conf里包含該文件,同時,支持嵌套 include。
  接下來看一下 server 塊的寫法:
  server {
  listen 80;
  server_name p.postmsg.cn;
  location / {
  proxy_pass http://127.0.0.1:8008;
  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;
  }
  #access_log logs/p_access.log;
  }
  這里的 server_name 對應配置的域名,proxy_pass對應代理的真實地址。
  (3)注意事項一
  一定要把 80 端口留給負責代理的Nginx。我們可以在一個服務器上同時使用Apache httpd,Nginx,Tomcat,但是域名解析只能使用默認的80端口,負責代理的同志要拿到第一手請求。
  (4)注意事項二
  即時生效性:有的朋友感覺自己配置的都對,也重啟服務了,可就是看不到想要的結果。這里有三個方面的可能因素。
  域名解析生效時間:阿里云的域名最低生效時間是10分鐘,有時候可能大于這個值。
  本地DNS緩存:可在CMD使用 ipconfig /flushdns 命令刷新本地DNS緩存。
  瀏覽器緩存:這個可能才是最不容易發現的,尤其是谷歌瀏覽器。F12之后,右鍵左上角地址欄邊上的刷新按鈕,點擊清空緩存并硬性重新加載。
  服務未重啟:service nginx restart 有時候可能沒有先 stop, 再 start 好用。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 娄底市| 中牟县| 石城县| 广汉市| 台北市| 安康市| 阳山县| 五家渠市| 建瓯市| 佛教| 满洲里市| 多伦县| 彝良县| 达孜县| 安徽省| 塘沽区| 手游| 门头沟区| 桂林市| 安义县| 庆阳市| 津南区| 徐汇区| 原平市| 吉安县| 巫山县| 富顺县| 扶绥县| 万州区| 牡丹江市| 鄂州市| 和平县| 登封市| 侯马市| 陇南市| 惠水县| 安顺市| 石林| 宜兰县| 临漳县| 延庆县|