問題:
在起alice管理系統的開發環境的時候,發現后臺所有的接口在第一次請求的時候全部產生404錯誤,但第二次請求成功



定位問題
查看nginx 報錯日志發現如下報錯,因此錯誤的認為錯誤發生在html
的文件夾權限不夠導致的文件無法寫入,于是開放權限之后發現還是不行,在Google一番查找還是沒找到解決方案。暫時擱置,第二天重新找錯時,無意的點開8081端口,當你訪問localhost:8081
與127.0.0.1:8081
的內容竟然不同。



當時發覺是不是端口沖突了,于是打開文件下面是nginx
的config文件和我們的項目配置文件,發現產生端口沖突,當你訪問后臺時發現請求會有專到nginx的靜態文件,因此產生404報錯。
server {
listen 8081;
server_name 127.0.0.1;
#charset koi8-r;
#access_log logs/host.access.log main;
location / {
root html;
index index.html index.htm;
}
server {
# 平臺端口
listen 8100;
server_name localhost;
location / {
proxy_pass http://localhost:4200/;
}
location /api/ {
proxy_pass http://localhost:8081/;
}
#error_page 404 /404.html;
# redirect server error pages to the static page /50x.html
#
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root /usr/share/nginx/html;
}
}
解決方法
更改后臺端口,與項目未 nginx 的配置。
遺留問題:
在后臺啟動時,訪問localhost:8081
與127.0.0.1:8081
的內容不同
后臺關閉時相同
原因可能如下:
localhost:系統帶的本機當前用戶的權限去訪問
127.0.0.1:等于本機是通過網絡再去訪問本機
當nginx 與后臺沖突時為什么奇數次訪問nginx內部文件,偶數次訪問后臺(為什么能占用同一個接口)
以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。