NGINX将http重定向到https和www。到非www

时间:2017-04-07 15:22:25

标签: nginx reverse-proxy http-redirect

我终于通过Let's Encrypt工作获得了我的证书 我正在努力与nginx。我一直用它作为反向代理,我发现它非常好 现在可以使用https://example.net访问我的网站,但如果将http://www.example.nethttps://www.example.net重定向到https://example.net,我会希望如此。 但我目前的配置不起作用。

server {
   listen       80;
   server_name example.net;
   return 301 https://example.net$request_uri;
}

server {
   listen 80;
   server_name www.example.net;
   rewrite ^/(.*) https://example.net/$1 permanent;
}

server {
   listen 443 ssl;
    server_name  example.net;

    ssl_certificate /home/shiro/LE-Cert.crt;
    ssl_certificate_key /home/shiro/LE-Cert.key;
    location / {
        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 https://10.0.0.3:443;
    }
}

server {
   listen 443;
   server_name www.example.net;
   rewrite ^/(.*) https://example.net/$1 permanent;
}

我怎样才能设置这样的东西呢? 如果重要的话,Nginx在ubuntu上运行。

编辑:OH。 MY。 GOD。
我现在觉得很蠢。
我发现了问题,解决了问题,当我在pfSense上设置了acme包时,我不得不将http转发给pfsense:8082。然后我没有禁用它,也没有为那个转发到nginx启用它。

1 个答案:

答案 0 :(得分:0)

OH。 MY。 GOD。
我现在觉得很蠢。
我发现了问题,解决了问题,当我在pfSense上设置了acme包时,我不得不将http转发给pfsense:8082。然后我没有禁用它并且没有为那个转发到nginx启用它..