Noobie 질문은 여기에 있습니다.Nginx 404 일부 하위 폴더 오류
나는 우분투 방울에서 Parse-Server를 설정했으며 현재 여기에서 문제를 다루고 있습니다.
/etc/nginx/sites-enabled/default
나는 그래서 따라와 링크가 잘
# HTTP - redirect all requests to HTTPS
server {
listen 80;
listen [::]:80 default_server ipv6only=on;
server_name example.com;
return 301 https://$host$request_uri;
}
# HTTPS - serve HTML from /usr/share/nginx/html, proxy requests to /parse/
# through to Parse Server
server {
listen 443;
server_name example.com;
root /usr/share/nginx/html;
index index.html index.htm;
ssl on;
# Use certificate and key provided by Let's Encrypt:
ssl_certificate /etc/letsencrypt/live/example.com/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/example.com/privkey.pem;
ssl_session_timeout 5m;
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
ssl_prefer_server_ciphers on;
ssl_ciphers 'EECDH+AESGCM:EDH+AESGCM:AES256+EECDH:AES256+EDH';
# Pass requests for /parse/ to Parse Server instance at localhost:1337
location /parse/ {
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-NginX-Proxy true;
proxy_pass http://localhost:1337/;
proxy_ssl_session_reuse off;
proxy_set_header Host $http_host;
proxy_redirect off;
}
location /test/ {
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-NginX-Proxy true;
proxy_pass http://localhost:1337/test/;
proxy_ssl_session_reuse off;
proxy_set_header Host $http_host;
proxy_redirect off;
}
location /dashboard/ {
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-NginX-Proxy true;
proxy_pass http://localhost:4040/dashboard/;
proxy_ssl_session_reuse off;
proxy_set_header Host $http_host;
proxy_redirect off;
}
location/{
try_files $uri $uri/ =404;
}
}
다음 한 내 SSL은이 파일에서 letsencrypt
에서입니다
하지만 기본 파일의 원인을 작업하는 잘 작동하는 코드를 가지고있다. 나는
404 오류가 예를
에 대한이 분석의 모든 디렉토리에 대해 그렇게 할 수 없습니다.default
파일에 모든 페이지를 구성하지 않고도 사용할 수있는 방법이 있습니까?
업데이트
그래서 내가 더 404 오류를 얻을 내 기본 파일
location /parse/ {
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-NginX-Proxy true;
proxy_pass http://localhost:1337/parse/;
proxy_ssl_session_reuse off;
proxy_set_header Host $http_host;
proxy_redirect off;
}
안에이 둘 때. 이는 여기에 게시 한 첫 번째 파일과 다른 proxy_pass http://localhost:1337/parse/
입니다.
하지만 어떻게하면 모든 요청에 대해 /parse/
또는 /something/
등으로 할 수 있습니까? 여기에 모든 폴더와 내가 서버 내부에서 만들 수있는 가능한 링크를 바로 아래에 놓을 수는 없습니다. 이 도메인에서 나는 또한 /assets/
등을 가질 웹 사이트를 설정할 것이고 그것은 각각 하나씩 필요할 것입니다.
생성 될 수있는 가능한 모든 링크를 포함하는 코드가 없습니까?
따라서이 예제에서는 "/ parse /"의 모든 하위 폴더 등을 가져옵니다. –
정확하지는 않지만'/ parse /'는 많은 사람들 중에서 하나의 예라고 생각했습니다. 위의 명령은'/'다음에 오는 모든 것을 포착하고 (예를 들어'parse /')'$ 1'이 지정된 곳에 놓습니다. 결과는'proxy_pass http : // localhost : 1337/parse /; '입니다. 다른 접미사, 예.'/ parse /'('/dashboard/'에 다른 포트가 있다는 것을 알아 차렸을 때'/ something /','proxy_pass http : // localhost : 1337/something;' '), 당신은'location/parse /(.*)'와 같은 것을 수행한다. 내가 제공 한 것보다 더 복잡하고 더 엄격한 정규 표현식을 만들 수있다. 위의 내용은 모든 것을 캡처합니다. – creativeChips
사실, 모든 것을 허용하고 싶습니다. 나는 당신의 모범을 시험해보고 결과를 말할 것입니다! –