要同时支持HTTP和HTTPS,需要在Nginx配置中添加两个server块,分别监听80端口和443端口。

示例配置:

server {
    listen 80;
    server_name example.com;
    root /var/www/html;
    index index.html;

    location / {
        try_files $uri $uri/ =404;
    }
}

server {
    listen 443 ssl;
    server_name example.com;
    root /var/www/html;
    index index.html;

    ssl_certificate /path/to/cert.crt;
    ssl_certificate_key /path/to/key.key;

    location / {
        try_files $uri $uri/ =404;
    }
}

其中,第一个server块监听80端口,使用普通的HTTP协议。第二个server块监听443端口,使用HTTPS协议,并且需要指定SSL证书和私钥的路径。

注意,如果同时支持HTTP和HTTPS,建议将HTTP请求重定向到HTTPS,以提高安全性。可以使用Nginx的rewrite规则实现:

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

server {
    listen 443 ssl;
    ...
}

这个配置将所有HTTP请求重定向到HTTPS。

Nginx怎么同时支持http和https

原文地址: http://www.cveoy.top/t/topic/AlY 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录