Reactjs “反应”;安全性错误:操作不安全。”;因为webpackHotDevClient在生产中?
我正在将我的第一个React应用程序部署到运行Debian 10的自定义设置DigitalOcean droplet。 我通过使用pm2的npm启动进程提供的nginx代理提供服务(或至少尝试提供服务) 对于生产构建:Reactjs “反应”;安全性错误:操作不安全。”;因为webpackHotDevClient在生产中?,reactjs,nginx,webpack,digital-ocean,Reactjs,Nginx,Webpack,Digital Ocean,我正在将我的第一个React应用程序部署到运行Debian 10的自定义设置DigitalOcean droplet。 我通过使用pm2的npm启动进程提供的nginx代理提供服务(或至少尝试提供服务) 对于生产构建: npm run build 我使用 pm2 start npm -- start Nginx已全部启动并运行,可以毫无问题地为普通HTML文件提供服务。HTTPS也可以正常工作 HTTPS的Nginx服务器配置(如果确实重要): 用于HTTP的Nginx conf(如果确实重
npm run build
我使用
pm2 start npm -- start
Nginx已全部启动并运行,可以毫无问题地为普通HTML文件提供服务。HTTPS也可以正常工作
HTTPS的Nginx服务器配置(如果确实重要):
用于HTTP的Nginx conf(如果确实重要):
然后我遇到了以下错误:
我阅读的大多数答案都是通过更改about:config下的设置来解决这个问题的,但我也会收到一条错误消息,上面写着“SecurityError:Failed to construction'WebSocket”:不安全的WebSocket连接可能不会从通过HTTPS加载的页面启动。”在Chrome和我尝试过的任何其他设备/浏览器上。
所以可以肯定地说,它不是客户端
我想这与webpackHotDevClient有关,出于某种原因,我似乎仍处于开发模式。我以为这个建筑应该已经开始生产了
谢谢您的建议。您找到解决方案了吗?我遇到了同样的事情这似乎是这个问题的重复:@ChadJensen不幸的是没有,我决定让盖茨比来做那个特殊的项目。我可能会在另一个纯React项目中再次遇到同样的问题,所以我会随时通知您。然而,上面user2875678的提示看起来很有希望,我可以通过将react脚本降级到3.2.0来解决这个问题。这并不完美,但它让我暂时回避了这个问题。
server {
root /root/react-app-name;
index index.html;
server_name mysecretdomain.com www.mysecretdomain.com;
location / {
proxy_pass http://localhost:3000;
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;
}
listen [::]:443 ssl ipv6only=on; # managed by Certbot
listen 443 ssl; # managed by Certbot
ssl_certificate /etc/letsencrypt/live/mysecretdomain.com/fullchain.pem; # managed by Certbot
ssl_certificate_key /etc/letsencrypt/live/mysecretdomain.com/privkey.pem; # managed by Certbot
include /etc/letsencrypt/options-ssl-nginx.conf; # managed by Certbot
ssl_dhparam /etc/letsencrypt/ssl-dhparams.pem; # managed by Certbot
access_log /var/log/nginx/mysecretdomain.com.access.log;
error_log /var/log/nginx/mysecretdomain.com.error.log;
}
server {
if ($host = www.mysecretdomain.com) {
return 301 https://$host$request_uri;
}
if ($host = mysecretdomain.com) {
return 301 https://$host$request_uri;
}
listen 80;
listen [::]:80;
server_name mysecretdomain.com www.mysecretdomain.com;
return 404; # managed by Certbot
}