nginx配置反向代理時遇到的路徑問題
Nginx配置反向代理的路徑問題
新搞了臺服務器,開始部署下項目,但是使用域名加端口訪問很不給力,決定使用Nginx的反向代理,統(tǒng)一到443端口。但我對Nginx的的了解可以說是完全不了解,那只能通過百度來看看能不能解決問題了
一張圖解決我的配置難題
之前找的圖,我的反向代理基本靠它解決

自己的理解
- 在
http下,可配置多個server虛擬主機 - 每個
server中,可配置多個location地址
http塊
Nginx配置中最重要的部分,緩存和日志、反向代理、動態(tài)和靜態(tài)資源分離、負載均衡都在這里配置。
server塊
一個server相當于一臺虛擬的主機,通過監(jiān)聽客戶端傳來的端口和地址,然后將這條請求定向到自己location中指定地址
location塊
server監(jiān)聽到請求后,對server_name后的字符路徑進行匹配,如果匹配成功,就可執(zhí)行重定向、數(shù)據(jù)緩存和應答控制的等功能
靜態(tài)資源配置
假設請求路徑為 https://test.xyz/static/test.jpg
- root:會保留匹配的路由路徑
location /static {
# 設置靜態(tài)資源路徑(相對路徑),查詢的路徑為/{nginx路徑}/html/static/test.jpg
root html/;
# 設置靜態(tài)資源路徑(絕對路徑),查詢的路徑為/var/www/wwwroot/html/static/test.jpg
# root /var/www/wwwroot/html/
}
- alias:會舍去匹配的路由路徑
location /static {
# 設置靜態(tài)資源路徑(相對路徑),查詢的路徑為/{nginx路徑}/html/test.jpg
alias html/;
# 設置靜態(tài)資源路徑(絕對路徑),查詢的路徑為/var/www/wwwroot/html/test.jpg
# alias /var/www/wwwroot/html/
}
實際配置
server
{
listen 443 ssl;
# 自己的域名
server_name test.xyz;
# 設置SSL證書
ssl_certificate test.xyz_bundle.crt;
ssl_certificate_key test.xyz.key;
ssl_session_timeout 5m;
#請按照以下協(xié)議配置
ssl_protocols TLSv1.2 TLSv1.3;
#請按照以下套件配置,配置加密套件,寫法遵循 openssl 標準。
ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:HIGH:!aNULL:!MD5:!RC4:!DHE;
ssl_prefer_server_ciphers on;
# 如果請求中的路由為/hot_wall
location /hot_wall{
# 將/hot_wall路由后面的路徑全部定向到8800端口上,并不包含/hot_wall
proxy_pass http://127.0.0.1:8800/;
}
}
server {
listen 80;
#自己的域名
server_name test.xyz;
#把http的域名請求轉(zhuǎn)成https
return 301 https://$host$request_uri;
}
總結(jié)
以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關文章
nginx正向代理https網(wǎng)站的實現(xiàn)
Nginx正向代理,通過服務器代理客戶端去重定向請求訪問到目標服務器的一種代理服務,本文主要介紹了nginx正向代理https網(wǎng)站的實現(xiàn),具有一定的參考價值,感興趣的可以了解一下2024-05-05
Nginx強制跳轉(zhuǎn)Https(Http訪問跳轉(zhuǎn)Https)
這篇文章主要為大家介紹了Http訪問強制跳轉(zhuǎn)到Https的幾種方式詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪2023-10-10

