Nginx HTTPS proxy_pass 每个路径
Nginx HTTPS proxy_pass every path
我正在尝试使用 nginx 和 cloudflare 设置 https。我使用 cloudflare 生成了证书和密钥并将它们添加到我的 nginx 配置中(见下文)。
server {
listen 443 ssl;
server_name <URL_HIDDEN>;
ssl_certificate /etc/nginx/own-certs/server.crt;
ssl_certificate_key /etc/nginx/own-certs/server.key;
location / {
proxy_pass http://localhost:8082;
proxy_http_version 1.1;
proxy_set_header UPgrade $http_upgrade;
proxy_set_header Connection 'upgrade';
proxy_set_header Host $host;
proxy_cache_bypass $http_upgrade;
}
}
问题:只有主页有效 (/
)。
当转到 any 其他页面(如 /favicon.ico
)时,我在 30 秒后收到 504 错误。使用特定端口和相同路径 (http://localhost:8082/favicon.ico
) 时,一切正常。当我也删除 ssl 部分时一切正常。
这不是 nginx 超时问题,因为我在使用本地主机时会在 5 毫秒内收到响应 URL。
- 更改 nginx 配置(如果您已经启用“始终 https”,则也有必要):
server {
listen 80; # ADD THIS
listen 443 ssl;
server_name <URL_HIDDEN>;
ssl_certificate /etc/nginx/own-certs/server.crt;
ssl_certificate_key /etc/nginx/own-certs/server.key;
location / {
proxy_pass http://localhost:8082;
proxy_http_version 1.1;
proxy_set_header UPgrade $http_upgrade;
proxy_set_header Connection 'upgrade';
proxy_set_header Host $host;
proxy_cache_bypass $http_upgrade;
}
}
设置 cloudflare 设置:
启用始终使用 https:
我正在尝试使用 nginx 和 cloudflare 设置 https。我使用 cloudflare 生成了证书和密钥并将它们添加到我的 nginx 配置中(见下文)。
server {
listen 443 ssl;
server_name <URL_HIDDEN>;
ssl_certificate /etc/nginx/own-certs/server.crt;
ssl_certificate_key /etc/nginx/own-certs/server.key;
location / {
proxy_pass http://localhost:8082;
proxy_http_version 1.1;
proxy_set_header UPgrade $http_upgrade;
proxy_set_header Connection 'upgrade';
proxy_set_header Host $host;
proxy_cache_bypass $http_upgrade;
}
}
问题:只有主页有效 (/
)。
当转到 any 其他页面(如 /favicon.ico
)时,我在 30 秒后收到 504 错误。使用特定端口和相同路径 (http://localhost:8082/favicon.ico
) 时,一切正常。当我也删除 ssl 部分时一切正常。
这不是 nginx 超时问题,因为我在使用本地主机时会在 5 毫秒内收到响应 URL。
- 更改 nginx 配置(如果您已经启用“始终 https”,则也有必要):
server {
listen 80; # ADD THIS
listen 443 ssl;
server_name <URL_HIDDEN>;
ssl_certificate /etc/nginx/own-certs/server.crt;
ssl_certificate_key /etc/nginx/own-certs/server.key;
location / {
proxy_pass http://localhost:8082;
proxy_http_version 1.1;
proxy_set_header UPgrade $http_upgrade;
proxy_set_header Connection 'upgrade';
proxy_set_header Host $host;
proxy_cache_bypass $http_upgrade;
}
}
设置 cloudflare 设置:
启用始终使用 https: