我有strapi(作为后端)和nextJs(作为前端)从同一个域服务。所以我使用了strapi文档中的“子文件夹统一”nginx配置(Nginx代理|Strapi Documentation),来反向代理所有来自www.example.com这样的strapi代码domainname.com/backend。
问题:现在strapi显示“服务器运行成功。”与“生产”文本,在url domainname.com/backend,然而,如果我运行domainname.com/backend/admin,它不显示strapi登录屏幕。相反,它在浏览器中显示空白,在控制台中出现以下错误。
浏览器控制台错误:未捕获的语法错误:Unexpected token '<'(at runtime~main.fa3b5436.js:1:1)main.cebf08e6.js:1未捕获语法错误:意外的标记'<'(在main.cebf08e6.js:1:1)
已尝试调试:
我试过从nginx反向代理strapi,没有nextjs配置,一切正常,strapi管理员登录在路径domainname.com/admin打开。这证明我们没有strapi应用服务器的问题。
现在尝试运行nextjs反向代理代码,nextjs在rootdomain打开,strapi显示domainname.com/backend
我也试过访问public/upload文件夹中的图片,网址是:http://domainname.com/backend/uploads/placeholder.png和图片在浏览器中打开。
尝试打开strapi管理员登录sceen与url:http://domainname.com/backend/admin和我得到空白屏幕与控制台错误:
的
我的nginx文件:/etc/nginx/sites-available/strapi.conf是:
# Listen HTTP
listen 80;
server_name domainname.com;
# Next.js
location / {
proxy_pass http://127.0.0.1:3000; # Replace with the appropriate Next.js server address
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection 'upgrade';
proxy_set_header Host $host;
proxy_cache_bypass $http_upgrade;
}
# Strapi API and Admin
location /backend/ {
rewrite ^/backend/?(.*)$ /$1 break;
proxy_pass http://strapi;
proxy_http_version 1.1;
proxy_set_header X-Forwarded-Host $host;
proxy_set_header X-Forwarded-Server $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_set_header Host $http_host;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "Upgrade";
proxy_pass_request_headers on;
}
}
字符串
我的上游文件:/etc/nginx/conf.d/upstream.conf
upstream strapi {
server 127.0.0.1:1337;
}```
型
1条答案
按热度按时间fcg9iug31#
深入挖掘后,问题是如何配置strapi。
更改:在server.js中添加url,地址为“./config/server.js”。同时添加代理:真例:
字符串
添加url https://yoursite.com/backend将自动创建以下链接,请查看子文件夹统一Strapi在https://docs.strapi.io/dev-docs/deployment/nginx-proxy):
型
现在我们需要在admin.js文件“./config/admin.js”中进行更改:
型
注意:如果你没有https,你可能需要更改中间件,请参阅strapi文档中下面的安全部分的示例:https://docs.strapi.io/dev-docs/configurations/middlewares#security
最后,你必须建立strapi应用程序,否则上面的配置更改将不适用。确保你这样做:
型