※ 本文轉寄自 ptt.cc, 文章原始頁面
看板Soft_Job
標題

[請益] 使用Nginx顯示找不到檔案

最新2023-12-06 00:20:00
留言21則留言,13人參與討論
推噓-4 ( 0417 )
請教版上大大,小弟使用Nginx來轉發兩個web service請求,其設定如下 server { listen 80; listen 1000; server_name 192.168.1.150; return 301 https://for_test.net$request_uri; } server { listen 2000; server_name 192.168.1.150; return 301 https://for_test.net/forms$request_uri; } server { listen 443 ssl; server_name for_test.net; ssl_certificate /etc/nginx/ssl/certs/for_test.crt; ssl_certificate_key /etc/nginx/ssl/private/for_test.key; ssl_session_timeout 5m; ssl_session_cache shared:SSL:50m; ssl_session_tickets off; ssl_protocols TLSv1.2 TLSv1.3; ssl_ciphers 'TLS_AES_128_GCM_SHA256:TLS_AES_256_GCM_SHA384:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-RSA-AES256-GCM-SHA384'; ssl_prefer_server_ciphers on; add_header Strict-Transport-Security "max-age=31536000" always; ### A PyWebIO web service ### location / { proxy_pass http://127.0.0.1:3000/; proxy_http_version 1.1; proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection "upgrade"; proxy_set_header X-Forwarded-Host $host; proxy_set_header X-Forwarded-Server $host; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header X-Forwarded-Photo $scheme; proxy_set_header HOST $host; proxy_set_header X-Real-IP $remote_addr; } ### A Streamlit web service ### location /form { proxy_pass http://127.0.0.1:4000/; alias /home/streamlit_app/; proxy_http_version 1.1; proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection "upgrade"; proxy_set_header X-Forwarded-Host $host; proxy_set_header X-Forwarded-Server $host; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header X-Forwarded-Photo $scheme; proxy_set_header HOST $host; proxy_set_header X-Real-IP $remote_addr; } } 已知連線到http://192.168.1.150時會成功轉到 https://for_test.net 但是連線到http://192.168.1.150/form時,則會顯示Connection error http://192.168.1.150/form對應的是使用Streamlit製作的web service 其錯誤似乎是找不到檔案 (HTTP 404,非HTTP 301) 請問是否有大大能夠指點迷津? 感謝 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 106.1.232.104 (臺灣) ※ 文章網址: https://www.ptt.cc/bbs/Soft_Job/M.1701181526.A.5AE.html

21 則留言

※ 編輯: qazsd (106.1.232.104 臺灣), 11/28/2023 23:04:46

B0988698088, 1F
自己作業

layer0930, 2F
先把網路基本學好…

MoonCode, 3F
可以問llm

tsaigi, 4F
???

surimodo, 5F
看無

taitzyhwan, 6F
可以問chatgpt

kurtsgm, 7F
[請益] 使用Nginx顯示找不到檔案

kurtsgm, 8F
我問copilot的 不用謝

godddddd, 9F
呃呃 找個可以檢查錯字的

notimenofree, 10F
問GPT

srwhite, 11F
你打xx.150/form應該會導到for_test.net/form吧

srwhite, 12F
看你for_test那有沒有定義form的route

srwhite, 13F
或是照你的寫法xx.150:2000可能可以打到 但我是覺得這樣

srwhite, 14F
訂有點怪

ssdoz2sk, 15F
1.先檢查到底有沒有轉址,你弄301,不管有沒有存取到資

ssdoz2sk, 16F
源,網址列應該會更新。2. location /form 改成

ssdoz2sk, 17F
location /form/ ,不然你 proxy 過去的網址會變成

ssdoz2sk, 18F
4000// 這樣 Streamlit 不是會回你 404 就是 403

ssdoz2sk, 19F
此外,你 port 2000 的 URI 是 form or forms 要確定欸~

anecam, 20F
for_test.net 的A record 是192.168.1.150?

qazsd, 21F
回樓上,是私有網域供連線用的網址,非public IP

qazsd 作者的近期文章

[請益] GitLab備份還原後總大小不一致
請教一下版上前輩 因為VM作業系統為 ubuntu 18.04,需要升級以提升安全(買ESM就可以升級嗎?) 因此打算將VM上的 GitLab 服務改在新的一台 ubuntu 22.04 VM上面跑 但是將 GitLab CE 15.10.
更多 qazsd 作者的文章...