nginx反向代理二級(jí)域名綁定方法及注意事項(xiàng)的示例分析-創(chuàng)新互聯(lián)

這篇文章給大家分享的是有關(guān)nginx反向代理二級(jí)域名綁定方法及注意事項(xiàng)的示例分析的內(nèi)容。小編覺(jué)得挺實(shí)用的,因此分享給大家做個(gè)參考,一起跟隨小編過(guò)來(lái)看看吧。

創(chuàng)新互聯(lián)公司長(zhǎng)期為數(shù)千家客戶(hù)提供的網(wǎng)站建設(shè)服務(wù),團(tuán)隊(duì)從業(yè)經(jīng)驗(yàn)10年,關(guān)注不同地域、不同群體,并針對(duì)不同對(duì)象提供差異化的產(chǎn)品和服務(wù);打造開(kāi)放共贏平臺(tái),與合作伙伴共同營(yíng)造健康的互聯(lián)網(wǎng)生態(tài)環(huán)境。為西寧企業(yè)提供專(zhuān)業(yè)的網(wǎng)站建設(shè)、成都網(wǎng)站建設(shè)西寧網(wǎng)站改版等技術(shù)服務(wù)。擁有10余年豐富建站經(jīng)驗(yàn)和眾多成功案例,為您定制開(kāi)發(fā)。

1、應(yīng)用場(chǎng)景

  我們經(jīng)常會(huì)遇到在同一臺(tái)服務(wù)器建立多個(gè)Web站點(diǎn)的情況,普遍的做法是為不同的站點(diǎn)配置不同的端口,這樣就可以用IP:Port的形式訪問(wèn)。

  但是用IP訪問(wèn)畢竟不方便,不生動(dòng),不容易記憶。那么,我們可以給每個(gè)站點(diǎn)綁定不同的域名。(在這里我們僅談公網(wǎng)情況)即使我們只有一個(gè)域名,我們可以設(shè)置多個(gè)二級(jí)域名,使用Nginx很容易實(shí)現(xiàn)。

2、基本要求

  通常,網(wǎng)上教程會(huì)直接貼一段配置文件的代碼,告訴我們?nèi)绱诉@般就Ok了。但我發(fā)現(xiàn)很多新手看著教程配置,并不能像博主那樣就Success了,所以接下來(lái)我們談一下基本原理。

  首先,要有一個(gè)自己能管理的域名,比如我有一個(gè) postmsg.cn 的域名,就可以生出多個(gè)子域名,二世三世千萬(wàn)世……

  其次,有一臺(tái)能訪問(wèn)的公網(wǎng)服務(wù)器,可以在這臺(tái)服務(wù)器上建立自己的Web站點(diǎn),一個(gè)兩個(gè)三四個(gè),對(duì)應(yīng)端口不一。

  然后,就是域名和站點(diǎn)的綁定,一個(gè)蘿卜一個(gè)坑,當(dāng)然也可以多個(gè)蘿卜一個(gè)坑……

3、一般配置

  需要配置的地方有兩個(gè),我們先談首要先決條件,也是有些新手容易忽略的地方。

 ?。?)域名配置

    把域名的A記錄解析指向我們的公網(wǎng)服務(wù)器,這一點(diǎn)一般人都能想到。解析的時(shí)候只能加IP,是不能帶端口號(hào)的,即只能使用默認(rèn)的80端口。(不討論域名轉(zhuǎn)發(fā))

    若想實(shí)現(xiàn)子域名綁定,在域名解析的時(shí)候必須配置合理。否則只靠Nginx是不行的。

    例如我要把子域名  p.postmsg.cn 綁定到 服務(wù)器的 8001端口,我首先要保證訪問(wèn) p.postmsg.cn 的請(qǐng)求能到達(dá)該服務(wù)器,然后Nginx才能處理。

    此時(shí),要么在域名A記錄解析里加一條 p 的主機(jī)記錄,要么主機(jī)記錄里有通配符 * 的配置(*.postmsg.cn的訪問(wèn)全部解析到對(duì)應(yīng)的服務(wù)器,慎用),只設(shè)置@和www肯定是不行的。

nginx反向代理二級(jí)域名綁定方法及注意事項(xiàng)的示例分析

                        圖1 - 域名解析示例

 ?。?)主機(jī)配置

    域名的請(qǐng)求到達(dá)主機(jī)之后,一切才可以交給Nginx來(lái)處理。

    修改Nginx配置的時(shí)候,可以直接在默認(rèn)配置文件(例如/etc/nginx/nginx.conf,如以下代碼片段所示)里修改,也可以在某個(gè)目錄下新建獨(dú)立的配置文件,然后 include 這個(gè)目錄下的配置文件(如第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讀取配置文件的格式,我們的配置通常寫(xiě)在 http { } 塊里,加上 server 塊,在server塊里配置。剛才也說(shuō)了,server塊可以寫(xiě)在一個(gè)單獨(dú)文件里,在nginx.conf里包含該文件,同時(shí),支持嵌套 include。

  接下來(lái)看一下 server 塊的寫(xiě)法:

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 對(duì)應(yīng)配置的域名,proxy_pass對(duì)應(yīng)代理的真實(shí)地址。

 ?。?)注意事項(xiàng)一

    一定要把 80 端口留給負(fù)責(zé)代理的Nginx。我們可以在一個(gè)服務(wù)器上同時(shí)使用Apache httpd,Nginx,Tomcat,但是域名解析只能使用默認(rèn)的80端口,負(fù)責(zé)代理的同志要拿到第一手請(qǐng)求。

 ?。?)注意事項(xiàng)二

    即時(shí)生效性。有的朋友感覺(jué)自己配置的都對(duì),也重啟服務(wù)了,可就是看不到想要的結(jié)果。這里有三個(gè)方面的可能因素。

  1.     域名解析生效時(shí)間。阿里云的域名最低生效時(shí)間是10分鐘,有時(shí)候可能大于這個(gè)值。

  2.     本地DNS緩存。可在CMD使用 ipconfig /flushdns 命令刷新本地DNS緩存。

  3.     瀏覽器緩存。這個(gè)可能才是最不容易發(fā)現(xiàn)的,尤其是谷歌瀏覽器。F12之后,右鍵左上角地址欄邊上的刷新按鈕,點(diǎn)擊清空緩存并硬性重新加載。

  4.     服務(wù)未重啟。service nginx restart 有時(shí)候可能沒(méi)有先 stop, 再 start 好用。

感謝各位的閱讀!關(guān)于“nginx反向代理二級(jí)域名綁定方法及注意事項(xiàng)的示例分析”這篇文章就分享到這里了,希望以上內(nèi)容可以對(duì)大家有一定的幫助,讓大家可以學(xué)到更多知識(shí),如果覺(jué)得文章不錯(cuò),可以把它分享出去讓更多的人看到吧!

網(wǎng)站名稱(chēng):nginx反向代理二級(jí)域名綁定方法及注意事項(xiàng)的示例分析-創(chuàng)新互聯(lián)
文章分享:http://muchs.cn/article44/cecihe.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供全網(wǎng)營(yíng)銷(xiāo)推廣、外貿(mào)網(wǎng)站建設(shè)、App開(kāi)發(fā)、ChatGPT、移動(dòng)網(wǎng)站建設(shè)、靜態(tài)網(wǎng)站

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶(hù)投稿、用戶(hù)轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話(huà):028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)

網(wǎng)站優(yōu)化排名