emg*_*184 6 postgresql flask pgadmin docker
我正在尝试在反向代理后面的 docker 容器中运行 pgadmin4。PgAdmin4 正在连接到远程数据库。我遇到的问题是我不断收到以下错误:
\n\nflask_wtf.csrf.CSRFError: 400 Bad Request: The CSRF token is invalid.\n\n
Run Code Online (Sandbox Code Playgroud)\npgadmin_1 | Traceback (most recent call last):\npgadmin_1 | File "/usr/local/lib/python3.8/site-packages/flask/app.py", line 1811, in full_dispatch_request\npgadmin_1 | rv = self.preprocess_request()\npgadmin_1 | File "/usr/local/lib/python3.8/site-packages/flask/app.py", line 2087, in preprocess_request\npgadmin_1 | rv = func()\npgadmin_1 | File "/usr/local/lib/python3.8/site-packages/flask_wtf/csrf.py", line 224, in csrf_protect\npgadmin_1 | self.protect()\npgadmin_1 | File "/usr/local/lib/python3.8/site-packages/flask_wtf/csrf.py", line 259, in protect\npgadmin_1 | self._error_response(e.args[0])\npgadmin_1 | File "/usr/local/lib/python3.8/site-packages/flask_wtf/csrf.py", line 302, in _error_response\npgadmin_1 | raise CSRFError(reason)\npgadmin_1 | flask_wtf.csrf.CSRFError: 400 Bad Request: The CSRF token is invalid.\n\n
Run Code Online (Sandbox Code Playgroud)\n以下是我的撰写文件:
\nversion: "3.3"\nservices:\n pgadmin:\n image: dpage/pgadmin4\n restart: always\n environment:\n PGADMIN_DEFAULT_EMAIL: email@domain.com\n PGADMIN_DEFAULT_PASSWORD: PassPass\n PGADMIN_LISTEN_PORT: 5050\n #SCRIPT_NAME: /pgadmin4\n PGADMIN_LISTEN_ADDRESS: 0.0.0.0\n ports:\n - "5050:5050"\n network_mode: "host"\n volumes:\n - pgadmin:/var/lib/pgadmin\n\nvolumes:\n pgadmin:\n\n
Run Code Online (Sandbox Code Playgroud)\n和反向代理
\n# HTTP \xe2\x80\x94 redirect all traffic to HTTPS\nserver {\n listen 80;\n listen [::]:80 default_server ipv6only=on;\n return 301 https://$host$request_uri;\n}\n\n# HTTPS \xe2\x80\x94 proxy all requests to the Node app\nserver {\n # Enable HTTP/2\n listen 443 ssl http2;\n listen [::]:443 ssl http2;\n server_name servername;\n\n # Use the Let\xe2\x80\x99s Encrypt certificates\n # ssl conf\n\n\n # Include the SSL configuration from cipherli.st\n include snippets/ssl-params.conf;\n\n location / {\n proxy_set_header X-Real-IP $remote_addr;\n proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;\n proxy_set_header X-NginX-Proxy true;\n proxy_pass http://localhost:8081/;\n proxy_ssl_session_reuse off;\n proxy_set_header Host $http_host;\n proxy_cache_bypass $http_upgrade;\n proxy_redirect off;\n }\n\n location /pgadmin4 {\n proxy_set_header X-Real-IP $remote_addr;\n proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;\n proxy_set_header X-NginX-Proxy true;\n proxy_set_header X-Script-Name /pgadmin4;\n proxy_set_header Host $host;\n proxy_pass http://localhost:5050/;\n proxy_redirect off;\n }\n\n\n\n}\n\n
Run Code Online (Sandbox Code Playgroud)\n我不知道错误的根源是什么,我已经阅读了以下指南https://www.pgadmin.org/docs/pgadmin4/development/container_deployment.html
\n但我不确定到底是什么原因造成的
\n小智 3
对我来说,如果有人在生产中遇到这个问题,管理流量的 Cloudflare 有一个缓存机制。在您浏览 pgadmin 时将站点暂时置于“开发模式”可以解决该问题。任何缓存该站点的内容很可能会导致令牌错误。另外,不要忘记使用 Google 隐身模式来确认您是否没有任何东西来管理您的网站流量。
归档时间: |
|
查看次数: |
8587 次 |
最近记录: |