问题描述
以下是nginx官方给出的配置:
server { listen 80; server_name ''; return 444;}
https://nginx.org/en/docs/htt...但是好像这只支持http,如果https的话不管配置在哪、是否配置default_server都会把用域名访问和IP直接访问444。
server { listen 80; listen [::]:80; server_name example.com; return 301 https://$host$request_uri;}server { listen 443 ssl http2; listen [::]:443 ssl http2; server_name example.com; if ( $host = $server_addr ) {return 444; } # ...}
https://paste.ubuntu.com/2340...
我现在是这样配置的,http请求301跳转到https,然后用if来检测如果是用服务器IP地址来请求的话就444。但是这不是一个好的配置(https://www.nginx.com/resourc...,有更好的配置实践吗?
问题解答
回答1:server {
listen 80 default; rewrite ^(.*) https://域名;
}