nginx開發筆記--域名沒有www的跳轉到www完整域名


server塊在監聽域名的時候如果域名有www和沒有www 在nginx中是完全不同的2個域名不會自動轉換,如果nginx代理時只配置了其中的一個則另一個是無法跳轉的,並走系統默認設置,如果需要完全轉發則需要同時增加www和非www的server,然后將其中的一個配置指向另一個完整配置即可,如下所示:

upstream  online {
    server 127.0.0.1:8300;   
 }

 server {
  listen 80;
  server_name abc.com;#此處直接轉到已經配置完成的www.abc.com即可 無需再重復配置
  return 301 http://www.abc.com$request_uri;
      }

 

   server {

 listen 80; server_name www.abc.com; access_log logs/online.log; error_log logs/online.error; #將所有請求轉發給payonline池的應用處理 location / { proxy_set_header Host $host:$server_port; #這里是重點,這樣配置才不會丟失端口 #proxy_set_header Host $host; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_pass http:
//online; } location /RequestDenied { return 403; } }

 


免責聲明!

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



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