Coder Social home page Coder Social logo

Comments (5)

fschulze avatar fschulze commented on June 24, 2024

Take a look at the network tab in the debug inspector of your browser. My first thought is, that you have not set X-Outside-URL in your reverse proxy, which causes wrong URLs from devpi-server. It (like many other things) isn't well enough documented: https://devpi.net/docs/devpi/devpi/stable/+d/quickstart-server.html?highlight=outside%2520url#nginx-devpi-conf-nginx-site-config

from devpi.

zwergon avatar zwergon commented on June 24, 2024

Thanks for your answer but X-Outside-URL is set accordingling with the documentation.

My nginx.conf file is the following:


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

events {
        worker_connections 768;
        # multi_accept on;
}

http {
map $http_x_forwarded_proto $x_scheme {
    default $scheme;
    http http;
    https https;
}

server {
    server_name devpi-ifpen.francecentral.cloudapp.azure.com;
    gzip             on;
    gzip_min_length  2000;
    gzip_proxied     any;
    # add application/vnd.pypi.simple.v1+json to the gzip_types
    gzip_types  text/plain text/css text/xml
                application/json application/vnd.pypi.simple.v1+json
                application/javascript text/javascript
                application/xml application/xml+rss;

    proxy_read_timeout 60s;
    client_max_body_size 64M;

    # set to where your devpi-server state is on the filesystem
    root /home/lecomtje/.devpi/server;

    # try serving static files directly
    location ~ /\+f/ {
        # workaround to pass non-GET/HEAD requests through to the named location below
        error_page 418 = @proxy_to_app;
        if ($request_method !~ (GET)|(HEAD)) {
            return 418;
        }

        expires max;
        try_files /+files$uri @proxy_to_app;
    }

    # try serving docs directly
    location ~ /\+doc/ {
        # if the --documentation-path option of devpi-web is used,
        # then the root must be set accordingly here
        root /home/lecomtje/.devpi/server;
        try_files $uri @proxy_to_app;
    }

    location / {
        # workaround to pass all requests to / through to the named location below
        error_page 418 = @proxy_to_app;
        return 418;
    }

    location @proxy_to_app {
        proxy_pass http://localhost:3141;
        # the $x_scheme variable is only required if nginx is behind another
        # proxy (often the case in container environments),
        # if your nginx is the only proxy server, the $scheme variable can be
        # used and the map $http_x_forwarded_proto $x_scheme above be removed
        proxy_set_header X-Forwarded-Proto $x_scheme;
        proxy_set_header X-outside-url $x_scheme://$http_host;
        proxy_set_header X-Real-IP $remote_addr;
    }

    listen 443 ssl; # managed by Certbot
    ssl_certificate /etc/letsencrypt/live/devpi-ifpen.francecentral.cloudapp.azure.com/fullchain.pem; # managed by Certbot
    ssl_certificate_key /etc/letsencrypt/live/devpi-ifpen.francecentral.cloudapp.azure.com/privkey.pem; # managed by Certbot
    include /etc/letsencrypt/options-ssl-nginx.conf; # managed by Certbot
    ssl_dhparam /etc/letsencrypt/ssl-dhparams.pem; # managed by Certbot

}


server {
    if ($host = devpi-ifpen.francecentral.cloudapp.azure.com) {
        return 301 https://$host$request_uri;
    } # managed by Certbot


    server_name devpi-ifpen.francecentral.cloudapp.azure.com;
    listen 80;
    return 404; # managed by Certbot

}}

I'm not sure what i need to look at in the network tab of my navigator debugger, but it seems that is able to download all js, css stuff.
devpi_network

from devpi.

fschulze avatar fschulze commented on June 24, 2024

Since your instance is public (are you aware of that?), I took a look and got the following error on the (Firefox) console among others:

The stylesheet https://devpi-ifpen.francecentral.cloudapp.azure.com/ifpen/dev/db-dwt/0.0.1/+doc/_static/alabaster.css was not loaded because its MIME type, “text/plain”, is not “text/css”.

So at some point the MIME type is broken, since I can't access devpi-server directly, I can't tell whether it happens there or in the reverse proxy. But you reported it to work when accessing directly, so I suspect something is wrong with the reverse proxy (nginx) config, but I can't see anything obvious right now as the config looks pretty much like the default config from devpi-gen-config.

from devpi.

fschulze avatar fschulze commented on June 24, 2024

Two other things I noticed:

  1. why does your pip list not include devpi-server etc?
  2. the versions in the footer list devpi-lockdown, but you are not using the generated configuration for it from devpi-gen-config.

from devpi.

zwergon avatar zwergon commented on June 24, 2024

for the pip list i apologize, i use a virtual environment and i did't activate it before doing pip list


Package                       Version   
----------------------------- ----------
aiohttp                       3.8.4     
aiosignal                     1.3.1     
alabaster                     0.7.13    
argon2-cffi                   21.3.0    
argon2-cffi-bindings          21.2.0    
async-timeout                 4.0.2     
attrs                         23.1.0    
Babel                         2.12.1    
beautifulsoup4                4.12.2    
bleach                        6.0.0     
build                         0.10.0    
certifi                       2023.5.7  
cffi                          1.15.1    
Chameleon                     4.0.0     
charset-normalizer            3.1.0     
check-manifest                0.49      
cmarkgfm                      2022.10.27
cryptography                  41.0.1    
defusedxml                    0.7.1     
devpi                         2.2.0     
devpi-client                  6.0.4     
devpi-common                  3.7.2     
devpi-lockdown                2.0.0     
devpi-server                  6.9.0     
devpi-web                     4.2.0     
docutils                      0.20.1    
frozenlist                    1.3.3     
hupper                        1.12      
idna                          3.4       
imagesize                     1.4.1     
importlib-metadata            6.6.0     
importlib-resources           5.12.0    
iniconfig                     2.0.0     
itsdangerous                  2.1.2     
jaraco.classes                3.2.3     
jeepney                       0.8.0     
Jinja2                        3.1.2     
keyring                       23.13.1   
keyrings.alt                  4.2.0     
lazy                          1.5       
markdown-it-py                2.2.0     
MarkupSafe                    2.1.3     
mdurl                         0.1.2     
more-itertools                9.1.0     
multidict                     6.0.4     
packaging                     21.3      
passlib                       1.7.4     
PasteDeploy                   3.0.1     
pep517                        0.13.0    
pip                           20.0.2    
pkg-resources                 0.0.0     
pkginfo                       1.9.6     
plaster                       1.1.2     
plaster-pastedeploy           1.0.1     
platformdirs                  3.5.1     
pluggy                        1.0.0     
py                            1.11.0    
pycparser                     2.21      
Pygments                      2.15.1    
pyparsing                     3.0.9     
pyproject-hooks               1.0.0     
pyramid                       2.0.1     
pyramid-chameleon             0.3       
python-dateutil               2.8.2     
pytz                          2023.3    
readme-renderer               37.3      
repoze.lru                    0.7       
requests                      2.31.0    
requests-toolbelt             1.0.0     
rfc3986                       2.0.0     
rich                          13.4.1    
ruamel.yaml                   0.17.31   
ruamel.yaml.clib              0.2.7     
SecretStorage                 3.3.3     
setuptools                    44.0.0    
simplejson                    3.19.1    
six                           1.16.0    
snowballstemmer               2.2.0     
soupsieve                     2.4.1     
sphinx                        7.0.1     
sphinx-basic-ng               1.0.0b1   
sphinxcontrib-applehelp       1.0.4     
sphinxcontrib-devhelp         1.0.2     
sphinxcontrib-htmlhelp        2.0.1     
sphinxcontrib-jsmath          1.0.1     
sphinxcontrib-qthelp          1.0.3     
sphinxcontrib-serializinghtml 1.1.5     
strictyaml                    1.7.3     
tomli                         2.0.1     
translationstring             1.4       
twine                         4.0.2     
typing-extensions             4.6.3     
urllib3                       2.0.3     
venusian                      3.0.0     
waitress                      2.1.2     
webencodings                  0.5.1     
WebOb                         1.8.7     
Whoosh                        2.7.4     
yarl                          1.9.2     
zipp                          3.15.0    
zope.deprecation              5.0       
zope.interface                6.0     


from devpi.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.