Nginx怎么同时支持http和https
要同时支持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。
原文地址: http://www.cveoy.top/t/topic/AlY 著作权归作者所有。请勿转载和采集!