所以我最近开始遇到 NGINX 因未知原因而崩溃的问题。
在尝试修复它花了很多时间之后,我决定改用 Caddy。
我的球童配置适用于浏览网站,但它破坏了/synchrony
在编辑页面时使用的访问权限。纯websocket 部分有效,我使用http://websocket.org/echo.html进行了测试,但 Confluence 还通过该路径检索了一些脚本。
我使用以下内容作为故障排除的参考: https ://confluence.atlassian.com/conf60/troubleshooting-collaborative-editing-852732552.html
我的工作 NGINX 配置
server {
listen 443 ssl;
server_name [REDACTED];
ssl_certificate [REDACTED];
ssl_certificate_key [REDACTED];
client_max_body_size 100m;
location / {
proxy_pass http://localhost:8090;
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;
}
location /synchrony {
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_pass http://localhost:8091/synchrony;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "Upgrade";
}
}
我建议的等效非工作 Caddy 配置
https://[REDACTED] {
log access.log
errors error.log
gzip
tls "C:\caddy\[REDACTED].cer" "C:\caddy\[REDACTED].key"
proxy /synchrony http://localhost:8091/synchrony {
websocket
}
proxy / http://localhost:8090 {
except /synchrony
transparent
}
}
以上基于以下文档:https://caddyserver.com/docs/proxy
它使用了transparent
&websocket
预设。