我使用 Node Express 作为服务器。我已经在 NGINX PM2 服务器中配置了 SSL 证书。当我点击 https://api.test.com
时。我可以获得响应,但是当我执行 http://api.test.com
时,我无法得到任何内容(即,它将其识别为未知 URL。
我该如何处理这个问题?我应该在我的代码或 NGINX PM2 中做些什么吗?
代码
var express = require('express');
import application from './route';
const port = normalizePort(3000);
const server = http.createServer(application);
server.listen(port);
最佳答案
最好在 nginx 配置中处理这个问题。这是一个最小的例子:
server {
listen xxx.xxx.xxx.xxx:80;
server_name www.example.net;
rewrite ^(.*) https://$server_name$1 permanent;
}
server {
listen xxx.xxx.xxx.xxx:443;
server_name www.example.net;
root /vhosts/www.example.net;
ssl on;
ssl_certificate /etc/pki/nginx/www.example.net.crt;
ssl_certificate_key /etc/pki/nginx/www.example.net.key;
location / {
proxy_pass http://127.0.0.1:8080;
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 https;
}
}
关于javascript - 强制将 HTTP 重定向到 HTTPS,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60203931/