我在使用Ubuntu和Nginx。
我有我的网站托管在SSL保护。
如果我在浏览器中输入域名而没有'https‘in中的's’,将重定向到'https‘。但是如果我输入域名的IP地址,它不会重定向到'https‘。它只会显示在地址栏'http://xxx.xxx.xxx.xxx
我想这个:
server {
listen 80 default_server;
listen [::]:80 default_server;
server_name _;
return 301 https://$host$request_uri;
}会解决这个买它不。
你的新手..。
发布于 2020-12-02 20:26:15
尝试创建另一个以IP地址作为server _ name的服务器部分--您最好使服务器名对您的域名(而不是_)也显化。然后将新服务器部分(IP地址)重定向到域名(与端口80相同)。
例如:
server {
server_name 12.34.56.178;
listen 80;
listen 443 ssl;
listen [::]:80;
listen [::]:443 ssl;
return 301 https://example.com;
}...and不要忘记用systemctl restart nginx重新启动nginx
你试过这样做并重新启动浏览器来测试它吗?当存在浏览器缓存时,有时很难调试内容。因此,我更喜欢使用wget -O- http://12.34.56.78或curl -o- http://12.34.56.78进行测试。
https://unix.stackexchange.com/questions/622614
复制相似问题