我嘗試了很多nginx的配置,直到我找到有效的配置。我不確定在我的服務器上是否有某種存盤的記錄,因為當我打開我的webapp時,我得到一個錯誤 "太多的重定向"。它的重定向數量與之前作業時相同,只是配置不同。有誰能提供一些見解嗎?
server {
listen 80;
server_name cigars-rec.com;
location / {
return 301 https://$host$request_uri;
}
location /.known/acme-challenge/ {
root /var/www/certbot;
}
}
上游 cr2-cigar-recommender {
服務器 cr2-cigar-recommender:8501;
}
服務器 {
listen 443 ssl;
server_name cigars-rec.com;
ssl_certificate /etc/letsencrypt/live/cigars-rec.com/fullchain.pem。
ssl_certificate_key /etc/letsencrypt/live/cigars-rec.com/privkey.pem。
include /etc/letsencrypt/options-ssl-nginx.conf;
ssl_dhparam /etc/letsencrypt/ssl-dhparams.pem。
# streamlit 配置
location / {
proxy_pass http://cigars-rec.com。
proxy_http_version 1.1;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header Host $host;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
proxy_read_timeout 86400。
}
location /page1 {
default_type "text/html";
alias /templates/page1.html。
}
位置 /page2 {
default_type "text/html";
alias /templates/page2.html。
位置 /page3 {
default_type "text/html";
alias /templates/page3.html。
}
}
uj5u.com熱心網友回復:
在你的組態檔中,你在80埠的http服務器塊中有這樣的指令:
location / {
回傳 301 https://$host/$request_uri;
}
這似乎是一個有意的http到https的重定向,這可能正是你想要的。
但是你的https服務器塊有一個proxy_pass,它告訴nginx建立一個http連接到http://cigars-rec.com/并將回應回傳給客戶端。該http URL將由發出重定向的http服務器塊提供。
這將意味著對您網站的 http 或 https 版本的任何請求,如果被該位置 / 匹配,將始終回傳一個重定向并導致您描述的情況。
轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/332441.html
標籤:
