[Nginx][Gogs] Служение гогам через nginx
У меня проблема с настройкой Gogs через Nginx на моей малине.
Я просто хочу иметь возможность перенаправить http://raspberry-ip-address:3000/ на http://raspberry-ip-address/gogs.
Ниже мой конф виртуальный хост nginx:
server {
listen 80;
server_name localhost;
location /gogs/ {
proxy_pass http://localhost:3000;
}
}
Когда я захожу на http:// raspberry-ip-address:3000, я получаю страницу установки от gogs ->, поэтому Gogs работает хорошо.
Когда я захожу на http: // raspberry-ip-address / gogs, я получаю ошибку 404 Не найдено. однако журнал от Gogs как-то "реагирует", потому что я получаю:
[Macaron] 2016-08-24 14:40:30: Started GET /gogs/ for 127.0.0.1
[Macaron] 2016-08-24 14:40:30: Completed /gogs/ 302 Found in 1.795306ms
2016/08/24 14:40:30 [D] Session ID: 8e0bbb6ab5478dde
2016/08/24 14:40:30 [D] CSRF Token: YfL58XxZUDgwim9qBCosC7EXIGM6MTQ3MTk4MDMxMzMxMTQ3MjgzOQ==
Для получения дополнительной информации вот мой nginx / error.log:
request: "GET /localhost HTTP/1.1", host: "192.168.1.15"
2016/08/24 14:40:30 [error] 3191#0: *4 open() "/usr/share/nginx/html/install" failed (2: No such file or directory), client: 192.168.1.12, server: localhost, request: "GET /install HTTP/1.1", host: "192.168.1.15"
Мне кажется, что Nginx неправильно перенаправляет запрос. Любая идея?
Спасибо;)
1 ответ
У меня работает следующий конфиг:
location /gogs/ {
proxy_pass http://localhost:3000/;
}
но следующее (то, что вы опубликовали) приводит к указанной вами ошибке:
location /gogs/ {
proxy_pass http://localhost:3000;
}
Обратите внимание /
и и URL.
HTTP перенаправление (30x) не решает проблему, потому что оно будет перенаправлено на localhost
который не Raspberry Pi, а компьютер, который делает запрос.
Завершите nginx conf в /etc/nginx/nginx.conf
:
user nginx;
worker_processes 1;
events {
worker_connections 1024;
}
http {
include mime.types;
default_type application/octet-stream;
sendfile on;
keepalive_timeout 65;
server {
listen 80;
server_name localhost;
location / {
root /usr/share/nginx/html;
index index.html index.htm;
}
location /git/ {
proxy_pass http://127.0.0.1:3333/;
}
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root /usr/share/nginx/html;
}
}
}