項目部署問題:xftp無法連接服務器、Nginx403 Forbidden解決、nginx反向代理解決前端跨域問題


一、xftp無法連接服務器

  在xftp中配置正確的ip,用戶名和密碼后,居然無法連接

  解決方案:將協議里面的FTP換成SFTP,注意換成SFTP后端口就默認換成22,要還是原來的21就還是連不上的哈

二、Nginx 出現 403 Forbidden 最終解決

  在用nginx配置的時候,出現403禁止訪問錯誤

  解決方案:打開nginx.conf,例如:vim /etc/nginx/nginx.conf,把 user 用戶名 改為 user root 或 其它有高權限的用戶名稱即可

  原來一般默認是:,改成:user root;  即可

三、nginx反向代理解決前端跨域問題

  跨域是指a頁面想獲取b頁面資源,如果a、b頁面的協議、域名、端口、子域名不同,所進行的訪問行動都是跨域的,而瀏覽器為了安全問題一般都限制了跨域訪問,也就是不允許跨域請求資源。注意:跨域限制訪問,其實是瀏覽器的限制。理解這一點很重要!!!

  假設有兩個網站,A網站部署在:http://localhost:81,即本地ip端口81上;B網站部署在:http://localhost:82,即本地ip端口82上。現在A網站的頁面想去訪問B網站的信息,A網站頁面的代碼如下(這里使用jquery的異步請求)

$(function () { $.get("http://localhost:82/api/values", {}, function (result) { $("#show").html(result); }) })

  這時瀏覽器會提示403如下錯誤信息:

  nginx反向代理解決跨域問題,nginx配置:(這就是我服務器上的配置)

location / { root /usr/local/apache-tomcat-8.5.30/webapps/emcs; index index.html index.htm; add_header 'Access-Control-Allow-Origin' '*'; add_header 'Access-Control-Allow-Credentials' 'true'; add_header 'Access-Control-Allow-Methods' 'GET, POST, OPTIONS'; add_header 'Access-Control-Allow-Headers' 'DNT,X-CustomHeader,Keep-Alive,User-Agent,X-Requested-With,If-Modified-Since,Cache-Control,Content-Type'; } location ^~/api/ { proxy_pass http://39.105.101.44:80/;
}

  訪問地址修改,既然配置了nginx,那么所有的訪問都要走nginx,而不是走網站原本的地址(A網站localhost:81,B網站localhost:82)。所以要修改A網站中的ajax訪問地址,把訪問地址由  http://localhost:82/api/values  改成  /apis/api/values  。如下代碼:

$(function () { $.get("/apis/api/values", {}, function (result) { $("#show").html(result); }) })

  這一步很重要哦,我就是因為url地址沒改,導致一直失敗

  還有需要注意的是服務器安裝nginx之后一些文件的默認存放路徑

  網站文件存放默認目錄:/usr/share/nginx/html   (html里面就是放的welcome nginx的頁面)

  網站默認站點配置:/etc/nginx/conf.d/default.conf  (這個就是配置文件,要改的內容基本在這個文件)

  自定義Nginx站點配置文件存放目錄:/etc/nginx/conf.d/

  Nginx全局配置:/etc/nginx/nginx.conf

  所以需要注意的是修改配置文件是修改conf.d里面的default.conf

 


免責聲明!

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



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