跨越解決方案之nginx

這里是修真院前端小課堂,每篇分享文從

【背景介紹】【知識剖析】【常見問題】【解決方案】【編碼實戰】【擴展思考】【更多討論】【參考文獻】

八個方面深度解析前端知識/技能,本篇分享的是:

【跨越解決方案之nginx】

?

1.背景介紹

跨域,指的是瀏覽器不能執行其他網站的腳本。它是由瀏覽器的同源策略造成的,是瀏覽器對javascript施加的安全限制。

所謂同源是指,域名,協議,端口相同。瀏覽器執行javascript腳本時,會檢查這個腳本屬于那個頁面,如果不是同源頁面,就不會被執行。

同源策略的目的,是防止黑客做一些做奸犯科的勾當。比如說,如果一個銀行的一個應用允許用戶上傳網頁,如果沒有同源策略,黑客可以編寫一個登陸表單提交到自己的服務器上,得到一個看上去相當高大上的頁面。黑客把這個頁面通過郵件等發給用戶,用戶誤認為這是某銀行的主網頁進行登陸,就會泄露自己的用戶數據。而因為瀏覽器的同源策略,黑客無法收到表單數據。

2.知識剖析

隨著現在開發的前后端分離,我們只需要Server端告訴我們Api URL即可,那么這會產生一個問題:Ajax跨域。

配置nginx

listen ? ? 1008; ? //監聽的窗口

server_name ?localhost; ? #監聽的地址

location /{

root ? F:/WebstormProjects/skill-admin-html/branches/skill-admin-html-18.0.branch; ?//根目錄

index ?index.html index.htm; ?//設置默認頁

try_files $uri $uri/ /index.html =404;

}

location /ajax/{

proxy_pass ? http://120.92.4.210:10011/; ?//服務器的地址

proxy_set_header ? ? ? ? ? ?Host ? ? ? ? ? ? ? ? ? ? ? ? ? ?$host;

proxy_set_header ? ? ? ? ? ?X-Real-IP ? ? ? ? ? ? ? ? ? ? ? $remote_addr;

proxy_set_header ? ? ? ? ? ?X-Forwarded-For ? ? ? ? ? ? ? ? $proxy_add_x_forwarded_for;

}

3.常見問題

1、Nginx 常見錯誤

  1. ?端口占用問題

2.Nginx所在目錄有中文

3、502 Bad Gateway、503 Serveice Unavailable

4、 504 Gateway Timeout

4.解決方案

1、我的配置文件里服務偵聽的是 80 端口,但80端口被占用了,我們更換端口就可以了,

2、目錄是不能有中文

3、 一般原因:后端服務無法處理,業務中斷。

解決方法:從后端日志獲取錯誤原因,解決后端服務器問題。

4、一般原因:后端服務器在超時時間內,未響應Nginx代理請求

解決方法:根據后端服務器實際處理情況,調正后端請求超時時間。

5.編碼實戰

6.擴展思考

跨域的其他解決方法

1.jsonp 需要目標服務器配合一個callback函數。

2.window.name+iframe 需要目標服務器響應window.name。

3.window.location.hash+iframe 同樣需要目標服務器作處理。

4.html5的 postMessage+ifrme 這個也是需要目標服務器或者說是目標頁面寫一個postMessage,主要側重于前端通訊

5.CORS ?需要服務器設置header :Access-Control-Allow-Origin。

7.參考文獻

"http://www.cnblogs.com/liyongsan/p/6795851.html">nginx常見問題

http://www.cnblogs.com/gabrie...l">nginx的反向代理機制解決前端跨域問題

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/450108.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/450108.shtml
英文地址,請注明出處:http://en.pswp.cn/news/450108.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

學習 shell腳本之前的基礎知識

見 : http://www.92csz.com/study/linux/12.htm【什么是shell】 簡單點理解,就是系統跟計算機硬件交互時使用的中間介質,它只是系統的一個工具。實際上,在shell和計算機硬件之間還有一層東西那就是系統內核了。打個比方,如果把計算…

「分塊系列」數列分塊入門3 解題報告

數列分塊入門3 題意概括 區間加法,區間求前驅。 寫在前面 這題的方法與分塊2方法極其類似,建議自行解決。 正題 和上一題類似,但是二分不是用來計數的,而是用來求小于c的最大值的。然后對于不完整快,將小于c的值求最大…

創業者自述:我的第一桶金是如何來的

記者采訪王宏筠的當天,北京氣溫已達到30℃,王宏筠從他的鐵灰色奧迪A6車上下來,一身挺括的西裝,打著領帶,肩上背著一個超大的牛皮包。后來他對記者說,穿西服是因為多年在外企養成的習慣,一年中至…

Git cherry-pick后再merge出現一個“奇怪”的現象

背景描述:有的時候基于一個master branch拉出一個獨立feature分支做開發時,兩條分支都在并行開發,如果master分支增加了某些功能,解決了某些關鍵bug,而獨立feature分支不需要所有的增加的commit,只需要某一…

inux系統中如何進入退出vim編輯器

前些天發現了一個巨牛的人工智能學習網站,通俗易懂,風趣幽默,忍不住分享一下給大家。點擊跳轉到教程。 VIM編輯器,可以新建文件也可以修改文件,命令為:vim AAA 。AAA就是文件名。 如果這個文件&#xff…

C++ 智能指針六

/* 智能指針unique_ptr */#include <iostream> #include <string> #include <memory> #include <vector>/*unique_ptr 獨占所指向的對象, 同一時刻只能有一個 unique_ptr 指向給定對象(通過禁止拷貝語義, 只有移動語義來實現), 定義于 memory (非memo…

如何掘到第一桶金

第一種類型&#xff1a;才智高遠型 典型代表&#xff1a;《福布斯》中國富豪榜排名第一位、個人資產總計達到83億元的中國希望集團劉氏兄弟。 與一般的創業者不同&#xff0c;劉氏四兄弟劉永言、劉永行、劉永美、劉永好一開始就悟透了“舍得”二字。他們本來都在國家企事業單…

Sublime Text3中文環境設置

Sublime Text3中文環境設置 1、首先打開安裝好的的Sublime軟件,選擇Preferences下面的Package Contorol選項出現彈窗方框 2、在彈窗輸入install package,選擇對應&#xff08;默認第一個&#xff0c;如圖這個&#xff09;命令點擊進入;安裝的時候&#xff0c;左下角會有進度條顯…

C/C++圖形化編程(2)

歸納編程學習的感悟&#xff0c; 記錄奮斗路上的點滴&#xff0c; 希望能幫到一樣刻苦的你&#xff01; 如有不足歡迎指正&#xff01; 共同學習交流&#xff01; &#x1f30e;歡迎各位→點贊 &#x1f44d; 收藏? 留言?&#x1f4dd; 站在巨人的肩上是為了超過巨人&#x…

Git clone之后你的硬盤上究竟發生了什么?

網上關于Git的使用有太多的博客&#xff0c;文章在講解了&#xff0c;大部分是在講解命令的用法&#xff0c;剩下一部分則在講解git的內部原理&#xff0c;看過講解基礎命令使用的文章后&#xff0c;正常的開發使用是沒有什么問題的了&#xff0c;而如果想更深入的了解git“高級…

Shell 語法

前些天發現了一個巨牛的人工智能學習網站&#xff0c;通俗易懂&#xff0c;風趣幽默&#xff0c;忍不住分享一下給大家。點擊跳轉到教程。 1. 運行sh腳本的2種方法&#xff1a; ./AAA。sh 或者 sh AAA.sh 。&#xff08;其實后輟名不重要。是txt也是可以運行的。&#xff09;…

感知機模型的對偶形式[轉載]

轉自:https://blog.csdn.net/jaster_wisdom/article/details/78240949#commentBox 1.區分一下易混淆的兩個概念&#xff0c;梯度下降和隨機梯度下降&#xff1a; 梯度下降&#xff1a;一次將誤分類集合中所有誤分類點的梯度下降&#xff1b; 隨機梯度下降&#xff1a;隨機選取一…

Android Studio常用快捷鍵

注&#xff1a;本文大部分內容轉載自——碼個蛋微信公眾號里的“熟練這些&#xff0c;才會知道 Android studio 有多高效”由于是微信公眾號通過傳送門看的&#xff0c;沒有原文鏈接。 顯示方法的參數 當我們使用一個方法的時候&#xff0c;會在剛開始的時候顯示出所有的參數。…

中國城市政治地位,政治地位決定一切!!!

第一政治等級&#xff1a;省級城市&#xff08;包括直轄市、特別行政區&#xff09;6個 北京市、上海市、天津市、重慶市、香港特別行政區、澳門特別行政區 第二政治等級&#xff1a;副省級城市&#xff08;含五個計劃單列市&#xff09; 15個 沈陽市、大連市&…

Shell 字符串截取

前些天發現了一個巨牛的人工智能學習網站&#xff0c;通俗易懂&#xff0c;風趣幽默&#xff0c;忍不住分享一下給大家。點擊跳轉到教程。 Linux 的字符串截取很有用。有八種方法。 假設有變量 varhttp://www.aaa.com/123.htm 1. # 號截取&#xff0c;刪除左邊字符&#xff0c;…

go語言漸入佳境[6]-operator運算符

運算符和其他語言一樣&#xff0c;Go語言支持多種運算符&#xff0c;用于對變量進行運算。12345678910111213package mainimport "fmt"func main(){ //math() //relation() //logic() //wei() Assign()}算術運算符123456789101112func math(){ a : 4 b:2 fmt.Printf(…

Android應用開發—setResult()的調用時機

本文轉載自setResult()的調用時機&#xff0c;此處做了重新的排版&#xff0c;只是感覺markdown的排版比較好看些&#xff0c;侵刪。 今天遇到這樣一個問題&#xff0c;我在Activity-A中用startActivityForResult()方法啟動了Activity-B&#xff0c;并且在B中通過setResult()方…

記錄騰訊云中礦機病毒處理過程(重裝系統了fu*k)

2019-1-21日常上班的周一 剛想學學kafka&#xff0c;登錄與服務器看看把&#xff0c;誰知ssh特別慢&#xff0c;很奇怪&#xff0c;我以為是我網速問題&#xff0c;斷了wifi&#xff0c;換了網線&#xff0c;通過iterm想要ssh rootx.x.x.x&#xff0c;但是上不去&#xff1f; 就…

從創業失敗中學到的七條教訓

摘要&#xff1a;每個創業者不可能首次創業就能成功。他們的失敗經驗&#xff0c;或許可以指導其他創業者獲得迅速成功。Joshua Hays在文章《7 things I learned from failing that you can avoid》總結了創業失敗后獲得的七條教訓&#xff0c;希望其他創業者可以從中有所收獲&…

unexpected EOF while looking for matching ``‘

前些天發現了一個巨牛的人工智能學習網站&#xff0c;通俗易懂&#xff0c;風趣幽默&#xff0c;忍不住分享一下給大家。點擊跳轉到教程。 只是簡單的測試一個shell 腳本&#xff0c;報錯如題。 原因&#xff1a; 雙引號格式不對。 引號切換為英語格式重新輸入&#xff0c;再運…