Freshrss: Nginx problem? API - 404 not found /p/p/p/p/p/p/p/p/p/

Created on 15 Oct 2017  路  10Comments  路  Source: FreshRSS/FreshRSS

Hi,

I could need a little bit help.

I'm trying to get this running and it is running. But i can't get api running. It's like the issue with the docker image.

So i allowed the api access. I gave password for mobile. I have gotten the log api under user and I get a bad request
myserver.com/p/api/greader.php
but when i hit the links then i get a
404 not found
and the link ended as
myserver.com/p/api/greader.php/p/p/p/p/p/p/p/p/p/p/p/p/p/p/p/p/p/p/p/p/

I tried so many ways, but i can't figured this out.

I'm not good in nginx actually i just started some stuff and i'm trying to learn this. Anyway,..

Thats my nginx site

 server {
    listen          121212;
    server_name     myserver.com;
    root        /var/www/FreshRSS;
    index       index.php index.html index.htm;


include php.conf;                  

}

and php.conf

location ~ \.php {
        # for security reasons the next line is highly encouraged
        try_files $uri =404;

        fastcgi_param  QUERY_STRING       $query_string;
        fastcgi_param  REQUEST_METHOD     $request_method;
        fastcgi_param  CONTENT_TYPE       $content_type;
        fastcgi_param  CONTENT_LENGTH     $content_length;

        fastcgi_param  SCRIPT_NAME        $fastcgi_script_name;

        # if the next line in yours still contains $document_root
        # consider switching to $request_filename provides
        # better support for directives such as alias
        fastcgi_param  SCRIPT_FILENAME    $request_filename;

        fastcgi_param  REQUEST_URI        $request_uri;
        fastcgi_param  DOCUMENT_URI       $document_uri;
        fastcgi_param  DOCUMENT_ROOT      $document_root;
        fastcgi_param  SERVER_PROTOCOL    $server_protocol;

        fastcgi_param  GATEWAY_INTERFACE  CGI/1.1;
        fastcgi_param  SERVER_SOFTWARE    nginx;

        fastcgi_param  REMOTE_ADDR        $remote_addr;
        fastcgi_param  REMOTE_PORT        $remote_port;
        fastcgi_param  SERVER_ADDR        $server_addr;
        fastcgi_param  SERVER_PORT        $server_port;
        fastcgi_param  SERVER_NAME        $server_name;

        # If using a unix socket...
        fastcgi_pass unix:/var/run/php/php7.0-fpm.sock;

        # If using a TCP connection...
#         fastcgi_pass 127.0.0.1:9000;

}

I'm on stretch with the newest nginx, mariadb and php7.

I just wanna use at home. So no need for ssl etc.

Hope someone has some ideas.

Thanks,

Dan

All 10 comments

Hi. :-P

Hi :D

I hit enter really fast ;D

Maybe the nginx.conf is necessary as well... here it is.

user www-data;
worker_processes auto;
pid /run/nginx.pid;
include /etc/nginx/modules-enabled/*.conf;

events {
        worker_connections 768;
        # multi_accept on;
}

http {

        ##
        # Basic Settings
        ##

        sendfile on;
        tcp_nopush on;
        tcp_nodelay on;
        keepalive_timeout 65;
        types_hash_max_size 2048;
        # server_tokens off;

        # server_names_hash_bucket_size 64;
        # server_name_in_redirect off;

        include /etc/nginx/mime.types;
        default_type application/octet-stream;

        ##
        # SSL Settings
        ##

        ssl_protocols TLSv1 TLSv1.1 TLSv1.2; # Dropping SSLv3, ref: POODLE
        ssl_prefer_server_ciphers on;

        ##
        # Logging Settings
        ##

        access_log /var/log/nginx/access.log;
        error_log /var/log/nginx/error.log;

        ##
        # Gzip Settings
        ##

        gzip on;
        gzip_disable "msie6";

        # gzip_vary on;
        # gzip_proxied any;
        # gzip_comp_level 6;
        # gzip_buffers 16 8k;
        # gzip_http_version 1.1;
        # gzip_types text/plain text/css application/json application/javascript text/xml application/xml application/xml+rss text/javascript;

        ##
        # Virtual Host Configs
        ##
        include /etc/nginx/conf.d/*.conf;
        include /etc/nginx/sites-enabled/*;
}


#mail {
#       # See sample authentication script at:
#       # http://wiki.nginx.org/ImapAuthenticateWithApachePhpScript
#
#       # auth_http localhost/auth.php;
#       # pop3_capabilities "TOP" "USER";
#       # imap_capabilities "IMAP4rev1" "UIDPLUS";
#
#       server {
#               listen     localhost:110;
#               protocol   pop3;
#               proxy      on;
#       }
#
#       server {
#               listen     localhost:143;
#               protocol   imap;
#               proxy      on;
#       }
#}

Please take some inspiration from our documentation https://freshrss.github.io/FreshRSS/en/users/01_Installation.html
It is better to make ./FreshRSS/p/ as the root, so ./p/ does not appear in the public URL.

Thank you.

I did a new installation.

So i followed these constructions Yours
And i used the link what you posted for nginx
Only thing what i changed was
fastcgi_pass unix:/var/run/php/php7.0-fpm.sock;
instead of
fastcgi_pass unix:/var/run/php5-fpm.sock;
and the server name and the root path is different, sure.
I see just for a sec the logo then i get
File not found.
If i would change the root to
/usr/share/FreshRSS/
I could follow the installation process but i'll get the same problem.

For some reason it doesn't use the index.php in folder i? Is it right? Maybe it has something to do with php 7?

Thanks,
Dan

You may have to clear your browser's cache if it still has the redirection from your previous install.

Nah, that isn't the problem. It's still
File not found.

```

See this previous issue with a similar problem https://github.com/FreshRSS/FreshRSS/issues/1579#issuecomment-308361484

Thanks, checked and tried this already without any luck.

Anyway, it's working now. Maybe not the best solution but enough for my personally use

# Set the rights so that your Web server can access the files
sudo chown -R :www-data . && sudo chmod -R g+r . && sudo chmod -R g+w ./data/
# If you would like to allow updates from the Web interface
sudo chmod -R g+w .

This isn't working for me.
I did
sudo chown -R www-data:www-data FreshRSS/

I'm pretty sure i tried this already.
I think you were right. I tried this again and again without cleaning the browser cache...

Thank you.

i have the same issue and cant figure out a solution since days.

my setup is ubuntu, maria db, nginx

in the future i want to have difeerent web applications, so i want to reach them with www.mydomain/wordpress, mydomain/owncloud, etc.

dont know if it is important, but im using nginx as an reverse proxy ssl gateway, according to this (german "https://decatec.de/home-server/nextcloud-auf-ubuntu-server-mit-nginx-mariadb-php-lets-encrypt-redis-und-fail2ban/") tutorial.

and here is my virtual host conf, which is accordingly to this tutorial from the same german author (https://decatec.de/home-server/zweite-web-anwendung-neben-owncloudnextcloud-einrichten-am-beispiel-wordpress/)

server {
        server_name 127.0.0.1;
        listen 127.0.0.1:83;
        root /var/www/;

                location ^~ /freshrss {
                index index.html index.htm index.php;


                location /freshrss {
                                try_files $uri $uri/ /freshrss/index.php$args;
                }


                location = /freshrss/robots.txt {
                                allow all;
                                log_not_found off;
                                access_log off;
                }

                location ~ \.php$ {
                                try_files $uri =404;
                                fastcgi_split_path_info ^(.+\.php)(/.+)$;
                                include fastcgi_params;
                                fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
                                fastcgi_param PATH_INFO $fastcgi_path_info;
                                fastcgi_pass php-handler;
                                fastcgi_connect_timeout 60;
                                fastcgi_index index.php;
                                fastcgi_param PHP_VALUE "open_basedir=/var/www/freshrss:/tmp/
                                                upload_max_filesize = 1G
                                                post_max_size = 1G
                                                max_execution_time = 3600";
                }

                location ~* /freshrss/\.(js|css|png|jpg|jpeg|gif|ico)$ {
                                expires max;
                                log_not_found off;
                }
        }
}

when i click "full server configuration" or the second link i get an 404 and lots of /p/p/p/p at my url (freshrss/p/api/greader.php/p/p/p/p/p/p/p/p/p/p/p/p/p/p/p/p/p/p/p/p/)

and honestly i have nearly no clue what im doing. i just copy paste .conf and tutorials and change them accordingly to my paths.

@SchamesDGirk Would using Docker be an option of you? We have a turn-key solution.

Was this page helpful?
0 / 5 - 0 ratings

Related issues

mdemoss picture mdemoss  路  4Comments

Offerel picture Offerel  路  5Comments

mbnoimi picture mbnoimi  路  4Comments

Alkarex picture Alkarex  路  5Comments

javerous picture javerous  路  5Comments