Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

werkzeug.exceptions.NotFound: 404 Not Found: The requested URL was not found on the server #20319

Open
3 tasks
khanh78180 opened this issue Jun 8, 2022 · 35 comments
Labels
#bug Bug report

Comments

@khanh78180
Copy link

A clear and concise description of what the bug is.

How to reproduce the bug

  1. Go to '.Data ..'
  2. Click on '.Databases...'
  3. Scroll down to '....' Trying to list database
  4. See error
    perset_app | 81.220.237.14 - - [08/Jun/2022:20:04:52 +0000] "GET /static/assets/images/filter-results.svg HTTP/1.1" 404 0 "https://superset.kdinh.fr/databaseview/list/?pageIndex=0&sortColumn=expose_in_sqllab&sortOrder=desc" "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:101.0) Gecko/20100101 Firefox/101.0"
    superset_app | 81.220.237.14 - - [08/Jun/2022:20:04:54 +0000] "GET /api/v1/database/?q=(order_column:expose_in_sqllab,order_direction:asc,page:0,page_size:25) HTTP/1.1" 200 529 "https://superset.kdinh.fr/databaseview/list/?pageIndex=0&sortColumn=expose_in_sqllab&sortOrder=asc" "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:101.0) Gecko/20100101 Firefox/101.0"
    superset_app | HTTPException
    superset_app | Traceback (most recent call last):
    superset_app | File "/usr/local/lib/python3.8/site-packages/flask/app.py", line 1516, in full_dispatch_request
    superset_app | rv = self.dispatch_request()
    superset_app | File "/usr/local/lib/python3.8/site-packages/flask/app.py", line 1502, in dispatch_request
    superset_app | return self.ensure_sync(self.view_functions[rule.endpoint])(**req.view_args)
    superset_app | File "/usr/local/lib/python3.8/site-packages/flask/app.py", line 515, in
    superset_app | view_func=lambda **kw: self_ref().send_static_file(**kw), # type: ignore # noqa: B950
    superset_app | File "/usr/local/lib/python3.8/site-packages/flask/scaffold.py", line 332, in send_static_file
    superset_app | return send_from_directory(
    superset_app | File "/usr/local/lib/python3.8/site-packages/flask/helpers.py", line 700, in send_from_directory
    superset_app | return werkzeug.utils.send_from_directory( # type: ignore
    superset_app | File "/usr/local/lib/python3.8/site-packages/werkzeug/utils.py", line 847, in send_from_directory
    superset_app | raise NotFound()
    superset_app | werkzeug.exceptions.NotFound: 404 Not Found: The requested URL was not found on the server. If you entered the URL manually please check your spelling and try again.
    superset_app | 2022-06-08 20:04:54,173:WARNING:superset.views.base:HTTPException
    superset_app | Traceback (most recent call last):
    superset_app | File "/usr/local/lib/python3.8/site-packages/flask/app.py", line 1516, in full_dispatch_request
    superset_app | rv = self.dispatch_request()
    superset_app | File "/usr/local/lib/python3.8/site-packages/flask/app.py", line 1502, in dispatch_request
    superset_app | return self.ensure_sync(self.view_functions[rule.endpoint])(**req.view_args)
    superset_app | File "/usr/local/lib/python3.8/site-packages/flask/app.py", line 515, in
    superset_app | view_func=lambda **kw: self_ref().send_static_file(**kw), # type: ignore # noqa: B950
    superset_app | File "/usr/local/lib/python3.8/site-packages/flask/scaffold.py", line 332, in send_static_file
    superset_app | return send_from_directory(
    superset_app | File "/usr/local/lib/python3.8/site-packages/flask/helpers.py", line 700, in send_from_directory
    superset_app | return werkzeug.utils.send_from_directory( # type: ignore
    superset_app | File "/usr/local/lib/python3.8/site-packages/werkzeug/utils.py", line 847, in send_from_directory
    superset_app | raise NotFound()
    superset_app | werkzeug.exceptions.NotFound: 404 Not Found: The requested URL was not found on the server. If you entered the URL manually please check your spelling and try again.

Expected results

what you expected to happen.
It should list database defined

Actual results

no databases listed
what actually happens.

Screenshots

If applicable, add screenshots to help explain your problem.

Environment

(please complete the following information):

  • browser type and version:
  • superset version: superset version
  • python version: python --version
  • node.js version: node -v
  • any feature flags active:

Checklist

Make sure to follow these steps before submitting your issue - thank you!

  • I have checked the superset logs for python stacktraces and included it here as text if there are any.
  • I have reproduced the issue with at least the latest released version of superset.
  • I have checked the issue tracker for the same issue and I haven't found one similar.

Additional context

Add any other context about the problem here.

@khanh78180 khanh78180 added the #bug Bug report label Jun 8, 2022
@Always-prog
Copy link
Contributor

Always-prog commented Jul 15, 2022

I have the same error.
Every-single request raises that exception.
Due to this exception I can't login, can't logout.

I have changed config.py and superset_config.py, and running my flask server at my local from docker-compose.yml/

image

UPDATE:
I fixed my problem about login/logout.
In config.py I wa set SESSION_COOKIE_SAMESITE to Lax, instead of None.

But, warnings from werkzeug I getting anyway.

@khanh78180
Copy link
Author

Hi,

Thank a lot
I change the parameter SESSION_COOKIE_SAMESITE and it is OK now

@JunTech
Copy link

JunTech commented Jul 22, 2022

i tried to change features SESSION_COOKIE_SAMESITE to Lax,but not work,it still cause error not found.
GET /ws HTTP/1.1[/home/ryan/anaconda3/envs/superset/lib/python3.8/site-packages/werkzeug/routing.py>>>path_info:[/ws],>>>[None]]>>>[True]>>>[None]>>>[None]
[/home/ryan/anaconda3/envs/superset/lib/python3.8/site-packages/werkzeug/routing.py>>>path:[|/ws]]
2022-07-22 09:28:35,152:WARNING:superset.views.base:HTTPException
Traceback (most recent call last):
File "/home/ryan/anaconda3/envs/superset/lib/python3.8/site-packages/flask/app.py", line 1516, in full_dispatch_request
rv = self.dispatch_request()
File "/home/ryan/anaconda3/envs/superset/lib/python3.8/site-packages/flask/app.py", line 1492, in dispatch_request
self.raise_routing_exception(req)
File "/home/ryan/anaconda3/envs/superset/lib/python3.8/site-packages/flask/app.py", line 1474, in raise_routing_exception
raise request.routing_exception # type: ignore
File "/home/ryan/anaconda3/envs/superset/lib/python3.8/site-packages/flask/ctx.py", line 376, in match_request
result = self.url_adapter.match(return_rule=True) # type: ignore
File "/home/ryan/anaconda3/envs/superset/lib/python3.8/site-packages/werkzeug/routing.py", line 2048, in match
raise NotFound()

@akzarma
Copy link
Contributor

akzarma commented Oct 5, 2022

SESSION_COOKIE_SAMESITE was set to "Lax" for me, setting it to None worked for me.

@sagar-appperfect
Copy link

sagar-appperfect commented Nov 15, 2022

Hi
We are facing same issue, these are the steps that we followed

  1. Clone Superset's GitHub repository git clone https://github.com/apache/superset.git
  2. Updated config.py
    # Uncomment to setup Public role name, no authentication needed
    AUTH_ROLE_PUBLIC = 'Public'
  3. Docker compose (tried it with dev)
    DEV
    docker compose build
    docker-compose up -d

I have tried to set SESSION_COOKIE_SAMESITE=None but issue is same.
Please let me know if I am missing something, any help would be appreciated.
Thanks

@eghazal-b-yond-full
Copy link

Having the same issue here, regardless of the value of SESSION_COOKIE_SAMESITE, "Lax" or None, I'm still facing the same issue.

@falgunifb
Copy link

Facing same as mentioned by @eghazal-b-yond-full

@kokiers
Copy link

kokiers commented Mar 6, 2023

Having the same issue here, regardless of the value of SESSION_COOKIE_SAMESITE, "Lax" or None, I'm still facing the same issue.

I too

@apole
Copy link

apole commented Mar 13, 2023

Login works but get this error and I am logged out immediately. These are logs on superset. Anyone found the fix?

image

This is my superset_config.py
image

@mdmatin4
Copy link

mdmatin4 commented Jun 9, 2023

Login works but get this error and I am logged out immediately. These are logs on superset. Anyone found the fix?

Change the SESSION_COOKIE_HTTPONLY value in your superset_config.py file to True.
SESSION_COOKIE_HTTPONLY = True

It'll solve the login issue. But the main issue will still remain same.

@zhengcan
Copy link

Any process here?

@hsravidatta
Copy link

it is the same issue "There was an error loading the tables"

@xddpool
Copy link

xddpool commented Jul 6, 2023

I encountered the same issue. I deployed Superset on a server using Docker Compose. Accessing localhost on the server interface works fine, but when I try to access it via the IP address, it keeps showing the login page and the browser continuously redirects. The server console shows a 404 error and the same errors as before. I haven't found a solution yet. Later, I tried it on my Mac, and the result was the same. If I try to access it via the IP address on another computer, it stays on the login page indefinitely.

@dmitry-novoselov
Copy link

If I try to access it via the IP address on another computer, it stays on the login page indefinitely.

I am having the same issue.

@texnder
Copy link

texnder commented Jul 11, 2023

i'm facing same issue.

File "/usr/local/lib/python3.9/site-packages/flask/app.py", line 1770, in raise_routing_exception
superset_app | raise request.routing_exception # type: ignore
superset_app | File "/usr/local/lib/python3.9/site-packages/flask/ctx.py", line 351, in match_request
superset_app | result = self.url_adapter.match(return_rule=True) # type: ignore
superset_app | File "/usr/local/lib/python3.9/site-packages/werkzeug/routing/map.py", line 652, in match
superset_app | raise NotFound() from None
superset_app | werkzeug.exceptions.NotFound: 404 Not Found: The requested URL was not found on the server. If you entered the URL manually please check your spelling and try again.

also in browser console i got:

Refused to load the script '' because it violates the following Content Security Policy directive: "script-src 'self' 'strict-dynamic' 'nonce-ikm_zo32ANd93_gYSIMQvGbEeCkSoVmQ'". Note that 'strict-dynamic' is present, so host-based allowlisting is disabled. Note that 'script-src-elem' was not explicitly set, so 'script-src' is used as a fallback.

why is this? can anyone knows the trick. this issue cost me a lot. please, any urgent solution.

@sherlock30
Copy link

Any resolution yet?. I'm facing the same issue

@sherlock30
Copy link

Solved.
This problem occurs due to static files not getting loaded while loading the dashboard.
Missed due to cluttered documentation

cd ~/superset/superset-frontend/
npm install
npm run build

@bui-theanh
Copy link

hello,I'm having the same problem too.How did you handle it?

@ramrajneogrowth
Copy link

ramrajneogrowth commented Aug 1, 2023

apache/superset:2.1.0
This version of the image is fine.
Latest image has some problem that causes this issue intermittently.

@andreiaionitoaie
Copy link

Any solutions around this? I tried everything and I have same issue

@Ingmarman
Copy link

Ingmarman commented Sep 7, 2023

facing same issue

HTTPException
Traceback (most recent call last):
File "/usr/local/lib/python3.9/site-packages/flask/app.py", line 1823, in full_dispatch_request
rv = self.dispatch_request()
File "/usr/local/lib/python3.9/site-packages/flask/app.py", line 1788, in dispatch_request
self.raise_routing_exception(req)
File "/usr/local/lib/python3.9/site-packages/flask/app.py", line 1770, in raise_routing_exception
raise request.routing_exception # type: ignore
File "/usr/local/lib/python3.9/site-packages/flask/ctx.py", line 351, in match_request
result = self.url_adapter.match(return_rule=True) # type: ignore
File "/usr/local/lib/python3.9/site-packages/werkzeug/routing/map.py", line 652, in match
raise NotFound() from None
werkzeug.exceptions.NotFound: 404 Not Found: The requested URL was not found on the server. If you entered the URL manually please check your spelling and try again.

Python 3.9.17
Flask 2.2.5
Werkzeug 2.3.3

Superset 3.0.0

@jaihind213
Copy link

jaihind213 commented Sep 30, 2023

on mac m1:

faced the same exception which was giving me a bad rendering:

2023-09-29 11:26:34,361:WARNING:superset.views.base:HTTPException
superset_app           | Traceback (most recent call last):
superset_app           |   File "/usr/local/lib/python3.9/site-packages/flask/app.py", line 1823, in full_dispatch_request
superset_app           |     rv = self.dispatch_request()
superset_app           |   File "/usr/local/lib/python3.9/site-packages/flask/app.py", line 1788, in dispatch_request
superset_app           |     self.raise_routing_exception(req)
superset_app           |   File "/usr/local/lib/python3.9/site-packages/flask/app.py", line 1770, in raise_routing_exception
superset_app           |     raise request.routing_exception  # type: ignore
superset_app           |   File "/usr/local/lib/python3.9/site-packages/flask/ctx.py", line 351, in match_request
superset_app           |     result = self.url_adapter.match(return_rule=True)  # type: ignore
superset_app           |   File "/usr/local/lib/python3.9/site-packages/werkzeug/routing/map.py", line 652, in match
superset_app           |     raise NotFound() from None
superset_app           | werkzeug.exceptions.NotFound: 404 Not Found: The requested URL was not found on the server. If you entered the URL manually please check your spelling and try again.


I did the following and it worked for me:

git clone https://github.com/apache/superset
#installed node npm with versions v18.16.0/ 9.5.1 respectively.
cd superset/superset-frontend
npm install cross-env
npm install -f --no-optional --global webpack webpack-cli; 
npm run build
cd -
#create virtual env of 3.9 and activate
mamba create -n superset python=3.9 ; mamba activate superset; 
pip install -r requirements/testing.txt;
pip install -e .;
superset db upgrade;
superset fab create-admin;
superset init;
superset load-examples;
export SUPERSET_SECRET_KEY=D1acauGDSStiNuu2O1ZmK9E59QUPkRfB_some_key
export TALISMAN_ENABLED="False"
FLASK_ENV=development superset run -p 8088 --with-threads --reload --debugger

hope this helps.

@vndroid
Copy link

vndroid commented Oct 17, 2023

I'm facing the same issue. I installed it through the official Scratch method.

@cbrianbet
Copy link

Any help please

@cloudcheflabs
Copy link

As @jaihind213 said, set env TALISMAN_ENABLED to FALSE works fine for me.

@jiayouchongmingniao
Copy link

export TALISMAN_ENABLED="False"
SESSION_COOKIE_SAMESITE, Lax/None/Strict

doesn't work for me

@jiayouchongmingniao
Copy link

sudo docker compose -f docker-compose-non-dev.yml up

problem solved

@jiayouchongmingniao
Copy link

1702824892472

@butuzov
Copy link

butuzov commented Feb 14, 2024

For thouse who still strugling with not found endpoint for /ws, prese check your setup.

If you deleted nginx for running at :80 (as I did) you will get this error message, since websocket endpoint is running from the service superset_websocker. So in order to make it working (If you are using this with in docker-compose)

  1. you must have nginx (:80) serving both superset_app (:8088) and superset_websocket (:8080)
  2. I have also changed SESSION_COOKIE_HTTPONLY to None (but, I am not sure if this effects setup at all)

cheers.

@tmnvanderberg
Copy link

Having the same issue...

@sandeepr43
Copy link

Still having this issue ...werkzeug exception always pops up in my superset.log

@rusackas
Copy link
Member

Just for fun, I'm curious what @dosu-bot thinks.

Copy link

dosubot bot commented Jun 14, 2024

Hey @rusackas! 👋 I'm here to help you out while you wait for a human maintainer. I can assist with bug fixes, answer questions, and guide you on becoming a contributor. Let's tackle this together!

To resolve the persistent werkzeug.exceptions.NotFound: 404 Not Found error in your Superset setup, which affects listing databases and login/logout functionality, you can try the following steps:

  1. Check Route Definitions and Methods:
    Ensure that the routes for listing databases and login/logout are correctly defined and accessible. For example, the DatabaseRestApi class should have the necessary routes exposed.

  2. Verify Permissions:
    Ensure that the necessary permissions are set for accessing these routes. The protect() decorator is used to enforce security.

  3. Static File Serving:
    Ensure that static files are correctly served. This involves setting the correct paths and URLs in your configuration files. For example:

    UPLOAD_FOLDER = BASE_DIR + "/app/static/uploads/"
    IMG_UPLOAD_FOLDER = BASE_DIR + "/app/static/uploads/"
    IMG_UPLOAD_URL = "/static/uploads/"
  4. Nginx Configuration:
    If you are using Nginx as a reverse proxy, ensure that it is correctly configured to serve static files and handle WebSocket connections. Here is an example configuration snippet:

    server {
        listen 80 default_server;
        server_name  _;
    
        location /ws {
            proxy_pass http://superset_websocket;
            proxy_http_version 1.1;
            proxy_set_header Upgrade $http_upgrade;
            proxy_set_header Connection "Upgrade";
            proxy_set_header Host $host;
        }
    
        location / {
            proxy_pass http://superset_app;
            proxy_set_header    Host                $host;
            proxy_set_header    X-Real-IP           $remote_addr;
            proxy_set_header    X-Forwarded-For     $remote_addr;
            proxy_set_header    X-Forwarded-Host    $host;
            proxy_set_header    X-Forwarded-Proto   $scheme;
            proxy_http_version 1.1;
            port_in_redirect off;
            proxy_connect_timeout 300;
        }
    }
    
  5. Frontend Setup:
    Ensure that the frontend is correctly built and served. You can do this by running the following commands:

    cd superset/superset-frontend
    npm install
    npm run build
  6. Environment Variables:
    Set the TALISMAN_ENABLED environment variable to False:

    export TALISMAN_ENABLED="False"
  7. Docker Configuration:
    If you are using Docker, try using the non-dev Docker Compose configuration:

    docker-compose -f docker-compose-non-dev.yml up

These steps should help resolve the 404 Not Found error and ensure that your Superset setup functions correctly [1][2][3][4].

To continue talking to Dosu, mention @dosu.

@alivalizadakaseya
Copy link

alivalizadakaseya commented Aug 19, 2024

Having the same issue, it is sad that this issue has been persistent for so long :(

@sandeepr43
Copy link

+1
Having the same issue :(

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
#bug Bug report
Projects
None yet
Development

No branches or pull requests