niq*_*ick 6 nginx reactjs digital-ocean webpack
我正在将我的第一个 React 应用程序部署到运行 Debian 10 的自定义设置 DigitalOcean Droplet。我通过 nginx 代理提供服务(或至少尝试这样做),该代理由使用 pm2 的 npm start 进程提供。
对于生产构建:
npm run build
Run Code Online (Sandbox Code Playgroud)
我使用启动服务器
pm2 start npm -- start
Run Code Online (Sandbox Code Playgroud)
Nginx 已全部启动并运行,可以毫无问题地提供纯 HTML 文件。HTTPS 也能正常工作。
HTTPS 的 Nginx 服务器配置(如果它确实重要的话):
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;
}
Run Code Online (Sandbox Code Playgroud)
HTTP 的 Nginx 配置(如果它确实重要的话):
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
}
Run Code Online (Sandbox Code Playgroud)
然后我遇到了以下错误:
我读到的大多数答案只是通过更改 about:config 下的设置来处理它,但我也收到一条错误消息,指出“SecurityError: 无法构造 'WebSocket': 不安全的 WebSocket 连接可能无法从加载的页面启动” HTTPS。” 在 Chrome 和我尝试过的任何其他设备/浏览器上。所以可以肯定地说它不是客户端。
我想这与webpackHotDevClient有关,并且由于某种原因,我似乎仍然处于开发模式。我认为构建应该已经用于生产了?
感谢您的任何建议。
| 归档时间: |
|
| 查看次数: |
2540 次 |
| 最近记录: |