如何解决无法使用nginx
我有一个站点在443端口上运行,使用create-react-app和Express作为后端,该站点托管在DigitalOcean Dropplet上。
我有以下/etc/nginx/sites-enabled/default
文件
(使用validdomain.com保护我的客户的隐私)
server {
listen 80;
server_name validdomain.com;
return 301 https://validdomain.com$request_uri;
}
server {
listen 443 ssl;
server_name validdomain.com;
ssl_certificate /etc/letsencrypt/live/validdomain.com/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/validdomain.com/privkey.pem;
access_log /var/log/nginx/data-access.log combined;
# serve the static files
location / {
root /home/developer_account/customer-management/customer-management-fe/build;
try_files $uri /index.html;
}
location /api/ {
proxy_pass http://localhost:4000;
proxy_ssl_session_reuse off;
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;
proxy_redirect off;
}
}
当我按下https://validdomain.com/时,/索引下的位置(以及所有其他react-router路由)完美运行(这是react应用)
但是,当我按下https://validdomain.com/api/admins/login或任何其他有效的Express路线时,我在表格上收到错误消息:
无法发布/ api / admins / login
当我在droplett上使用ssh并使用curl设置适当的参数,并击中http:// localhost:4000 / admins / login时,它可以完美运行,包括我拥有的所有其他Express路线!
我正在使用pm2(运行没有问题),并且在pm2服务error.log上没有看到任何错误
我正在使用Ubuntu 18.04 Dropplet。
有人能指出我正确的方向吗?
非常感谢!
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。