Mag*_*pen 5 webserver reverse-proxy nginx http-status-code-404 reactjs
大家好,我在桌面上打开我的网站时遇到问题。在我创建应用程序并执行所有代码的笔记本电脑上,我的 React 应用程序工作正常并更新,但是在其他计算机上,只有我的组件/元素加载,而我的 axios 请求正在返回(404 连接拒绝错误)。有什么提示或修复吗?PS 这是我第一次尝试将应用程序构建部署到网络服务器(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
}
Run Code Online (Sandbox Code Playgroud)
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]);
Run Code Online (Sandbox Code Playgroud)
服务器.js 文件
const PORT = process.env.PORT || 8080
Run Code Online (Sandbox Code Playgroud)
包.json
"proxy": "http://localhost:8080/"
Run Code Online (Sandbox Code Playgroud)
我已经阅读了大约一天,我只是不确定该怎么做,任何帮助都会非常感谢!
| 归档时间: |
|
| 查看次数: |
327 次 |
| 最近记录: |