欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Nginx配置動態(tài)代理后通過curl訪問報403問題

 更新時間:2023年06月15日 09:51:16   作者:ProgrammingAh  
本文主要介紹了Nginx配置動態(tài)代理后通過curl訪問報403問題,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧

今天生產(chǎn)環(huán)境遇到了一個問題,在測試環(huán)境其他系統(tǒng)調(diào)用我們系統(tǒng)的一個接口沒問題,在生產(chǎn)環(huán)境死活調(diào)不通

問題描述

有業(yè)務(wù)人員反饋最近剛發(fā)版的一個服務(wù)提供的接口,其他系統(tǒng)一直調(diào)用不通。

嘗試解決

分析

單體項目,系統(tǒng)部署架構(gòu)很簡單,抽象一下如下圖所示:

image.png

經(jīng)過幾次嘗試有如下發(fā)現(xiàn):

  • 瀏覽器上訪問正常,不管是外網(wǎng)還是局域網(wǎng)
  • 通過curl請求接口,請求tomcat地址正常,請求nginx地址返回403
  • 其他系統(tǒng)通過通過nginx地址調(diào)用返回403,通過tomcat地址就正常

在網(wǎng)上找的解決方案

在網(wǎng)上搜索nginx配置動態(tài)代理報403,一般搜到4種情況

1、由于啟動用戶和 nginx 工作用戶不一致所致

對比nginx配置文件中的用戶與實際啟動nginx用戶是否一致

# 查看實際啟動用戶
ps -ef | grep nginx
# 查看配置文件中配置的用戶
cat /usr/local/nginx/conf/nginx.conf

2、缺少 index.html 或者 index.php 文件,就是配置文件中 index index.html index.htm 這行中的指定的文件

查看root的配置目錄下是否有index.html等文件,沒有的話會報403

server {
	listen 80;
	server_name localhost;
	index index.html;
	root /data/www;
}

3、權(quán)限問題,如果 nginx 沒有 web 目錄的操作權(quán)限,也會出現(xiàn) 403 錯誤

運行nginx的用戶對root的配置目錄沒有讀寫權(quán)限

# 修改web目錄的讀寫權(quán)限,或者把nginx的啟動用戶改成目錄的所屬用戶,或者將web目錄的所屬用戶改為nginx的啟動用戶,重啟nginx即可
chmod -R 777 /data/www
chown -R nginx:nginx /data/www

4、SELinux 設(shè)置為開啟狀態(tài)(enabled)的原因

# 查看當前selinux的狀態(tài)
/usr/sbin/sestatus -v
# 將SELINUX=enforcing修改為selinux=disabled
vi /etc/selinux/config
SELINUX=disabled
# 重啟系統(tǒng)生效
reboot

是終解決

最終發(fā)現(xiàn)都不是上述四種情況,經(jīng)過多方分析,發(fā)現(xiàn)配置目錄下多了一個配置/usr/local/nginx/conf/conf.d/agent_deny.config,內(nèi)容大概如下所示:

# 禁止Scrapy等工具的抓取
if ($http_user_agent ~* (Scrapy|Curl|HttpClient)) {
	return 403;
}
# 禁止UA及UA為空的訪問
# 。。。
# 禁止非GET/POST方式的抓取
# 。。。

第一條就將curl和httpclient給禁用了,這也就解決了問題描述里對方系統(tǒng)調(diào)用接口和使用curl調(diào)用nginx地址時調(diào)不通的原因了。

解決方法,最終提供兩個思路:

1、httpclient調(diào)用時修改User_Agent

2、直接調(diào)用tomcat接口

總結(jié)

遇到問題多總結(jié),網(wǎng)上的答案不一定能解決你的問題,還要具體問題具體分析,多分析現(xiàn)象,根據(jù)現(xiàn)象找到蛛絲馬跡。

到此這篇關(guān)于Nginx配置動態(tài)代理后通過curl訪問報403問題的文章就介紹到這了,更多相關(guān)Nginx動態(tài)代理報403內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Prometheus 和 Grafana 通過nginx-exporter監(jiān)控nginx的詳細步驟

    Prometheus 和 Grafana 通過nginx-exporter監(jiān)控nginx的

    nginx-exporter 是 Prometheus 用來從 Nginx 收集指標的組件,這篇文章給大家介紹Prometheus 和 Grafana 通過nginx-exporter監(jiān)控nginx的詳細步驟,感興趣的朋友跟隨小編一起看看吧
    2024-08-08
  • 一篇文章讀懂nginx的gzip功能

    一篇文章讀懂nginx的gzip功能

    nginx提供了對文件內(nèi)容壓縮的功能,允許將內(nèi)容在發(fā)送到客戶端之前根據(jù)具體的策略進行壓縮從而節(jié)約帶寬,下面這篇文章主要給大家介紹了如何通過一篇文章讀懂nginx的gzip功能,需要的朋友可以參考下
    2022-05-05
  • Nginx七層負載均衡之動靜分離思路詳解

    Nginx七層負載均衡之動靜分離思路詳解

    Nginx動靜分離簡單來說就是把動態(tài)跟靜態(tài)請求分開,不能理解成只是單純的把動態(tài)頁面和靜態(tài)頁面屋里分離,這篇文章主要介紹了Nginx七層負載均衡之動靜分離思路詳解,需要的朋友可以參考下
    2024-02-02
  • nginx多l(xiāng)ocation配置實例代碼

    nginx多l(xiāng)ocation配置實例代碼

    公司測試環(huán)境使用nginx部署多個前端項目,下面這篇文章主要給大家介紹了關(guān)于nginx多l(xiāng)ocation配置的相關(guān)資料,文中通過實例代碼介紹的非常詳細,需要的朋友可以參考下
    2023-04-04
  • Nginx SSL/TLS配置的實現(xiàn)

    Nginx SSL/TLS配置的實現(xiàn)

    Nginx支持SSL/TLS協(xié)議,用于加密HTTPS通信,本文主要介紹了Nginx SSL/TLS配置的實現(xiàn),具有一定的參考價值,感興趣的可以了解一下
    2025-02-02
  • 一文了解nginx HTTP安全響應(yīng)問題

    一文了解nginx HTTP安全響應(yīng)問題

    一些網(wǎng)站系統(tǒng)會經(jīng)常遭到各類XSS攻擊、點劫持等,從而造成重要信息的泄露以及服務(wù)器安全問題,本文就來介紹一下,感興趣的可以了解一下
    2023-11-11
  • 部署Nginx+Apache動靜分離的實例詳解

    部署Nginx+Apache動靜分離的實例詳解

    Nginx不僅能作為Web服務(wù)器,還具有反向代理、負載均衡和緩存的功能,這篇文章主要介紹了部署Nginx+Apache動靜分離的實例代碼,需要的朋友可以參考下
    2019-12-12
  • nginx編譯安裝后對nginx進行平滑升級的方法

    nginx編譯安裝后對nginx進行平滑升級的方法

    nginx編譯安裝后用了一段時間后發(fā)現(xiàn)當前版本有漏洞或需要新的功能時就需要對當前nginx版本進行版本升級,所以這時就需到對nginx的平滑升級,如何進行平滑升級,下面就一起來了解一下
    2018-12-12
  • 詳解nginx同一端口監(jiān)聽多個域名和同時監(jiān)聽http與https

    詳解nginx同一端口監(jiān)聽多個域名和同時監(jiān)聽http與https

    這篇文章主要介紹了詳解nginx同一端口監(jiān)聽多個域名和同時監(jiān)聽http與https的相關(guān)資料,需要的朋友可以參考下
    2017-05-05
  • Nginx安裝后常用功能配置基礎(chǔ)篇

    Nginx安裝后常用功能配置基礎(chǔ)篇

    這篇文章主要介紹了Nginx安裝后常用的功能配置,為了在使用中更高效簡潔,Nginx安裝后通常會進行一些常用的配置,有需要的朋友可以借鑒參考下,希望能夠有所幫助
    2022-03-03

最新評論