诺比问题。
我已经在我的Ubuntu Droplet中设置了Parse-Server,而我目前正在处理一个问题。
我的ssl来自letsencrypt
在此档案中
/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;
}
}
所以以下链接工作正常
但他们正在工作的默认文件的原因是代码工作正常。 我无法对所有解析的目录执行此操作,例如
收到404错误。
有没有办法让所有页面都可用,而无需在default
文件中配置它们?
更新
所以当我把它放在我的默认文件
中时 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;
}
我没有404错误。这是因为proxy_pass http://localhost:1337/parse/
与我在此发布的第一个文件不同。
但是,无论/parse/
还是/something/
等,我怎样才能为所有请求执行此操作?我不能在这里找到我将在服务器内创建的所有文件夹和可能的链接。因为在这个域名,我还会设置一个会有/assets/
等的网站,并且需要每个网站。
是否有任何代码可以包含将要创建的所有可能链接?
答案 0 :(得分:1)
您可以使用正则表达式组捕获location条目的部分内容,例如
location /(.*) {
...
proxy_pass http://localhost:1337/$1;
...
}