Reputation: 335
I'm trying to setup a python server using port 8080 and having nginx to proxy from port 80 to 8080.
Right now I have
python -m SimpleHTTPServer 8080
running, but for some reason I can not get Nginx to proxy it. I keep getting a "404 Not Found" error. (nginx/1.10.2) Here is the config I have on Nginx.
server {
listen 80;
server_name localhost;
#charset koi8-r;
#access_log /var/log/nginx/log/host.access.log main;
location /static/ {
# root /usr/share/nginx/html;
root /home/ec2-user;
index index.html index.htm;
proxy_pass http://localhost:8080;
}
#error_page 404 /404.html;
# redirect server error pages to the static page /50x.html
#
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root /usr/share/nginx/html;
}
Thank you
Upvotes: 1
Views: 1372
Reputation: 1
You can actually embed Python code in nginx with the Python module https://github.com/arut/nginx-python-module
Upvotes: 0
Reputation: 2187
You need to remove the index
directive inside your location
block:
server {
listen 80;
server_name localhost;
#charset koi8-r;
#access_log /var/log/nginx/log/host.access.log main;
location /static/ {
# root /usr/share/nginx/html;
root /home/ec2-user;
# index index.html index.htm; # It is looking for an index
proxy_pass http://localhost:8080;
}
#error_page 404 /404.html;
# redirect server error pages to the static page /50x.html
#
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root /usr/share/nginx/html;
}
The index
makes nginx look for an index before the proxy_pass
happens. Commenting it or removing it will resolve the issue.
Also, the root
is not needed either. Just this actually:
locatioin /static/ {
proxy_pass http://localhost:8080/
}
Upvotes: 2