我有一个网站 groupsitedev.com。它不会强制网站始终使用 httpd。我已完成以下设置,但它仍然会从 http 加载一些链接。配置如下:
server {
listen *:80 default_server;
if ($scheme = http) {
return 301 https://$host$request_uri;
}
}
我也尝试过只使用 return 301 而不使用 if,下面是我收到的错误的屏幕截图
https://www.dropbox.com/s/mqqdbmwl4vf43qp/error.JPG?dl=0
但它仍然不会强制所有链接移至 https。
答案1
使用如果在 Nginx 块配置中。
以下配置会将所有请求重定向到 https
server {
listen 80;
server_name _;
return 301 https://$server_name$request_uri;
}
答案2
您需要修复网站代码或配置上的链接。
站点配置可能有一个基本 URL 的设置,您需要确保https
其中包含该设置。
如果没有这样的设置,那么您需要用 替换http://path/to/some/pic.jpg
,/path/to/some/pic.jpg
然后您将使用用于请求页面本身的协议发出浏览器请求。
或者如果资源来自不同的域,那么您可以将其替换为//example.com/path/to/some/pic.jpg
。