我对使用nginx有一些疑问。 正如你可以看到标题,我试图将http重定向到https。
在阅读nginx代码之前,我想告诉你由node.js制作的主服务器,并使用https和自定义端口(即3000)。
所以我要做的是当用户在浏览器上输入“http://mywebsite.com”时,重定向到“https://mywebsite.com”。
这是我的nginx代码:
# http://mywebsite.com: redirect to https
server {
listen 80;
server_name mywebsite.com;
return 301 https://$server_name$request_uri;
}
# https
# redirect to 3000 port with https!
server {
listen 443 ssl;
server_name mywebsite.com
root ...
...
location / {
proxy_set_header X-Real-IP $remove_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header Host $http_host;
proxy_set_header X-NginX-Proxy true;
proxy_pass https://127.0.0.1:3000/;
proxy_redirect off;
}
...
这是第一次使用nginx,所以对我来说真的很难。非常感谢它帮助我。 THX!
答案 0 :(得分:1)
如果您需要将所有https重定向到https,则必须编写全局配置:
server {
listen 80;
server_name mywebsite.com;
rewrite ^ https://$server_name$request_uri? permanent;
}