nginx 域名 代理轉發能解決什么問題?nginx詳細配置教程
分類:域名資訊
編輯:建站芝士
瀏覽量:185
2021-01-13 10:00:51
對于nginx 域名,有些朋友還是比較熟悉的,但是對于nginx 域名 代理轉發的情況還不太了解,那么nginx 域名 代理轉發能解決什么問題?nginx詳細配置教程是怎樣的呢?下面新網就給大家具體介紹下。
nginx 域名 代理轉發能夠解決什么問題?
nginx 域名 代理轉發能夠解決跨域問題。具體為:
有兩個服務(或多個服務),各服務通過Redis做Session共享以實現單點登錄。其中登錄走的是API服務,前端通過Cookie來維持登錄狀態。在API服務登錄之后,在所有服務中這個用戶(Token)都是登錄是登錄狀態的。
因為登錄走的是API服務,那么Cookie的作用域是api.guitu18.com,這時候訪問WEB項目,WEB后臺雖然知道這個用戶(token)是登錄的,但因為請求是從web.guitu18.com域發起的,WEB服務是無法獲取api.guitu18.com域下的Cookie的。
提升Cookie作用域
那么現在需要解決跨域問題,因為是同一頂級域下的服務,我們之前的做法是將Cookie作用域提升到頂級域下,這時候二級域是能夠獲取到頂級域下的Cookie的(Cookie作用域是向下兼容),那WEB服務也就能夠拿到這個用戶的Token識別登錄狀態了。
服務端代理
現在升級為Nginx代理來解決跨域問題,方式是通過對接口路徑前綴進行匹配來實現。約定API服務中所有的接口路徑以api開頭,WEB服務在請求API服務時不用指向API域名,而是指向自身域名https://web.guitu18.com,然后在Nginx中對WEB域下以api開頭的路徑進行代理,轉發到API服務。
nginx怎么反向代理域名
先說正向代理吧:正向代理就是通過VPN或其他轉發客戶端請求,比如你開游戲加速器這樣,請求是通過別人機器發送給服務器的,服務主體是客戶端
反向代理就相反,是代理服務器的。是針對服務器收到和響應的信息進行轉發。好處是代理服務器和服務器對外就是一個服務器,暴露的是代理服務器地址,隱藏了真實服務器IP。常用的一般是Nginx代理,免費并且性能穩定。
配置監聽IP
listen address[:port] [default_server] [setfib=number] [backlog=number] [rcvbuf=size] [sndbuf=size] [deferred] [accept_filter=filter] [bind] [ssl];
配置監聽端口PORT
listen port[default_server] [setfib=number] [backlog=number] [rcvbuf=size] [sndbuf=size] [accept_filter=filter] [deferred] [bind] [ipv6only=on|off] [ssl];
配置 UNIX Domain Socket
listen unix:path [default_server] [backlog=number] [rcvbuf=size] [sndbuf=size] [accept_filter=filter] [deferred] [bind] [ssl];
下面給個實例:
比如想通過nginx代理一下tomcat服務,使用nginx配置的虛擬主機地址來訪問,修改配置文件nginx.conf
server { listen 8089; server_name 1.1.1.1:7777;
location / { # tomcat首頁;
proxy_pass http://localhost:8080; # tomcat路由)
} };
保存退出后重啟Nginx,還有更多參數請參考手冊。
nginx詳細配置教程
訪問Nginx,確保Nginx已經成功安裝。
通過端口區分不同的主機:nginx配置文件nginx.conf,位置:/usr/local/nginx/conf/。通過配置多個server,實現多個虛擬機的配置。
復制原來的html目錄將其更名為html-81,以進行測試。
為便于區分,對index.html文件進行修改。修改完成后刷新。
再分別訪問兩臺服務器
多個域名區分主機:修改配置文件。
Ngix的正向代理功能
Ngix的反向代理功能。
通過以上的內容,我們已經了解了nginx 域名 代理轉發能夠解決的問題了,大家在做nginx 域名 代理轉發的時候,就可以按照上面的方法去做,如有疑問,可以咨詢新網。
nginx 域名 代理轉發能夠解決什么問題?
nginx 域名 代理轉發能夠解決跨域問題。具體為:
有兩個服務(或多個服務),各服務通過Redis做Session共享以實現單點登錄。其中登錄走的是API服務,前端通過Cookie來維持登錄狀態。在API服務登錄之后,在所有服務中這個用戶(Token)都是登錄是登錄狀態的。
因為登錄走的是API服務,那么Cookie的作用域是api.guitu18.com,這時候訪問WEB項目,WEB后臺雖然知道這個用戶(token)是登錄的,但因為請求是從web.guitu18.com域發起的,WEB服務是無法獲取api.guitu18.com域下的Cookie的。
提升Cookie作用域
那么現在需要解決跨域問題,因為是同一頂級域下的服務,我們之前的做法是將Cookie作用域提升到頂級域下,這時候二級域是能夠獲取到頂級域下的Cookie的(Cookie作用域是向下兼容),那WEB服務也就能夠拿到這個用戶的Token識別登錄狀態了。
服務端代理
現在升級為Nginx代理來解決跨域問題,方式是通過對接口路徑前綴進行匹配來實現。約定API服務中所有的接口路徑以api開頭,WEB服務在請求API服務時不用指向API域名,而是指向自身域名https://web.guitu18.com,然后在Nginx中對WEB域下以api開頭的路徑進行代理,轉發到API服務。
nginx怎么反向代理域名
先說正向代理吧:正向代理就是通過VPN或其他轉發客戶端請求,比如你開游戲加速器這樣,請求是通過別人機器發送給服務器的,服務主體是客戶端
反向代理就相反,是代理服務器的。是針對服務器收到和響應的信息進行轉發。好處是代理服務器和服務器對外就是一個服務器,暴露的是代理服務器地址,隱藏了真實服務器IP。常用的一般是Nginx代理,免費并且性能穩定。
配置監聽IP
listen address[:port] [default_server] [setfib=number] [backlog=number] [rcvbuf=size] [sndbuf=size] [deferred] [accept_filter=filter] [bind] [ssl];
配置監聽端口PORT
listen port[default_server] [setfib=number] [backlog=number] [rcvbuf=size] [sndbuf=size] [accept_filter=filter] [deferred] [bind] [ipv6only=on|off] [ssl];
配置 UNIX Domain Socket
listen unix:path [default_server] [backlog=number] [rcvbuf=size] [sndbuf=size] [accept_filter=filter] [deferred] [bind] [ssl];
下面給個實例:
比如想通過nginx代理一下tomcat服務,使用nginx配置的虛擬主機地址來訪問,修改配置文件nginx.conf
server { listen 8089; server_name 1.1.1.1:7777;
location / { # tomcat首頁;
proxy_pass http://localhost:8080; # tomcat路由)
} };
保存退出后重啟Nginx,還有更多參數請參考手冊。
nginx詳細配置教程
訪問Nginx,確保Nginx已經成功安裝。
通過端口區分不同的主機:nginx配置文件nginx.conf,位置:/usr/local/nginx/conf/。通過配置多個server,實現多個虛擬機的配置。
復制原來的html目錄將其更名為html-81,以進行測試。
為便于區分,對index.html文件進行修改。修改完成后刷新。
再分別訪問兩臺服務器
多個域名區分主機:修改配置文件。
Ngix的正向代理功能
Ngix的反向代理功能。
通過以上的內容,我們已經了解了nginx 域名 代理轉發能夠解決的問題了,大家在做nginx 域名 代理轉發的時候,就可以按照上面的方法去做,如有疑問,可以咨詢新網。
聲明:免責聲明:本文內容由互聯網用戶自發貢獻自行上傳,本網站不擁有所有權,也不承認相關法律責任。如果您發現本社區中有涉嫌抄襲的內容,請發
送郵件至:operations@xinnet.com進行舉報,并提供相關證據,一經查實,本站將立刻刪除涉嫌侵權內容。本站原創內容未經允許不得轉載,或轉載時
需注明出處:新網idc知識百科