我在尝试解决 openProject 安装问题时遇到了困难。我按照本指南中的说明安装了它。然后,我使用 world4you 为我的公共 IP 和子域添加了 A 记录。我还使用 Let's Encrypt 创建了 SSL 证书:
mkdir /var/www/certbot/openproject.invert.at
certbot certonly --webroot -w /var/www/certbot/openproject.invert.at -d openproject.invert.at
然后我创建并修改了一个名为 /etc/nginx/sites-enabled/openproject.eeg_invert.de 的文件,如下所示:
server {
listen 80;
listen [::]:80;
listen 443 ssl;
listen [::]:443 ssl;
# ssl_certificate /etc/letsencrypt/live/openproject.eeg_invert.de/fullchain.pem;
# ssl_certificate_key /etc/letsencrypt/live/openproject.eeg_invert.de/privkey.pem;
access_log /var/log/nginx/access_openproject.eeg_invert.de.log;
error_log /var/log/nginx/error_openproject.eeg_invert.de.log;
server_name openproject.eeg_invert.de;
if ($http_user_agent ~* ".*SemrushBot.*") {return 403;}
location '/.well-known/acme-challenge' {
root /var/www/certbot/openproject.eeg_invert.de;
}
location / {
if ($scheme = http) {
return 301 https://$server_name$request_uri;
}
proxy_set_header X-Script-Name /;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Remote-User $remote_user;
proxy_set_header Host $http_host;
# proxy_redirect http:// https://;
proxy_pass http://localhost:8080;
}
}
我重新加载了 nginx,一切正常。但是,我使用
cd /docker/openproject/compose && docker-compose pull && docker-compose up -d
更新了此应用程序并重新加载了 nginx,但现在我在 chrome 上收到此消息:
此页面无法正常工作 openproject.eeg_invert.de 已将您重定向了太多次。 尝试清除您的cookie。 ERR_TOO_MANY_REDIRECTS
在更新之前,我备份了所有相关的 docker 卷和整个项目文件夹(撰写文件所在的位置)。我绝不是 IT 方面的专家,所以到目前为止我所做的是在更新后运行 docker-compose。然后我恢复了项目文件夹并运行 docker-compose up -d。
问题是现在我仍然遇到同样的错误。我查看了 nginx 错误日志文件,但没有任何结果。我尝试从 nginx 文件中随机禁用一些选项,看看是否会改变某些内容,但它总是相同的。
我现在遇到了困难,非常感谢您的帮助!预先感谢您的任何建议或想法。
您是否尝试清除浏览器中的cookie?出现此问题的原因有很多:
对于任何寻找此问题答案的人,请尝试显式将 OPENPROJECT_HTTPS 设置为 true 并将其注入到 docker 命令中,如下所示:
docker run -d -p 8080:80 --name openproject \
-e OPENPROJECT_HTTPS=true \
-e OPENPROJECT_HOST__NAME=your.hostname \
-e OPENPROJECT_SECRET_KEY_BASE=your-secret \
-v /var/lib/openproject/pgdata:/var/openproject/pgdata \
-v /var/lib/openproject/assets:/var/openproject/assets \
openproject/community:13
您还应该将以下行添加到您的 NGINX 位置/服务器块中:
proxy_set_header X-Forwarded-Proto $scheme;
这将解决 CSRF 令牌不匹配问题。