如何解决在 digitalocean droplet axios 请求上反应应用程序在其他机器上不起作用
嘿,我在桌面上拉起我的网站时遇到了问题。在我创建应用程序并完成所有代码的笔记本电脑上,我的 React 应用程序运行良好并更新,但是在其他机器上,只有我的组件/元素加载,而我的 axios 请求正在返回(404 连接拒绝错误)。任何提示或修复? P.S 这是我第一次尝试将应用构建部署到网络服务器(digitalocean/NGINX)。
NGINX 配置文件
server {
listen 80 default_server;
listen [::]:80 default_server;
root /var/www/epenn92reactapp.space/html/among-us-reactapp3/client/buil>
index index.html index.htm index.nginx-debian.html;
server_name epenn92reactapp.space www.epenn92reactapp.space;
error_page 405 =200 $uri;
error_page 404 /index.html;
location ^~ /assets/ {
gzip_static on;
expires 12h;
add_header Cache-Control public;
}
location /v1/api {
proxy_http_version 1.1;
proxy_cache_bypass $http_upgrade;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection 'upgrade';
proxy_set_header Host $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_pass http://64.227.5.159:8080;
try_files $uri /index.html;
}
listen [::]:443 ssl ipv6only=on; # managed by Certbot
listen 443 ssl; # managed by Certbot
ssl_certificate /etc/letsencrypt/live/epenn92reactapp.space/fullchain.pem; >
ssl_certificate_key /etc/letsencrypt/live/epenn92reactapp.space/privkey.pem>
include /etc/letsencrypt/options-ssl-nginx.conf; # managed by Certbot
ssl_dhparam /etc/letsencrypt/ssl-dhparams.pem; # managed by Certbot
}
server {
if ($host = www.epenn92reactapp.space) {
return 301 https://$host$request_uri;
} # managed by Certbot
if ($host = epenn92reactapp.space) {
return 301 https://$host$request_uri;
} # managed by Certbot
listen 80;
listen [::]:80;
server_name epenn92reactapp.space www.epenn92reactapp.space;
return 404; # managed by Certbot
}
示例 axios 路由
const [chars,setChars] = useState([]);
useEffect(() => {
const fetchData = async () => {
try {
let res = await axios.get('http://localhost:8080/api/v1/character',{
});
setChars(res.data)
}
catch (err) {
console.log('error',err)
}
};
fetchData();
},[chars.length]);
Server.js 文件
const PORT = process.env.PORT || 8080
package.json
"proxy": "http://localhost:8080/"
我已经阅读了大约一天了,但我不知道该怎么做,非常感谢!
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。