![ngnix SSL 配置适用于 http,但不适用于 https](https://linux22.com/image/704701/ngnix%20SSL%20%E9%85%8D%E7%BD%AE%E9%80%82%E7%94%A8%E4%BA%8E%20http%EF%BC%8C%E4%BD%86%E4%B8%8D%E9%80%82%E7%94%A8%E4%BA%8E%20https%20.png)
我在 AWS ELB 后面运行 nginx(nginx/1.10.0) 作为我的网络服务器,使用 drupal 7 并使用 php7.1 问题是 http://网址 工作正常,但同一网站https://网址仅提供页面的 https 组件,而不提供 css 等非 https 组件。
并且 SSL 终止正在 AWS ELB 端发生
这是我的 nginx 配置
server {
listen 80 default_server;
listen [::]:80 default_server;
listen 443 ssl http2 default_server;
listen [::]:443 ssl http2 default_server;
server_name site_url;
root /var/www/html/smb;
index index.php index.html index.htm ;
error_page 404 = @smb;
location @smb {
rewrite ^(.*)$ /index.php?q=$1 last;
}
location ~ \.php$ {
include snippets/fastcgi-php.conf;
fastcgi_pass unix:/run/php/php7.1-fpm.sock;
}
location ~ /\.ht {
deny all;
}
}
答案1
如果 ssl 终止发生在 AWS ELB 端,为什么还要使用端口 443?这是没有必要的,您可以只使用端口 80 来处理所有请求,因为您不需要任何 SSL。
并作为@HBruijn说,你的应用程序有问题,而不是 nginx。看起来 css 等的 URL 中存在带 http:// 的硬编码。你应该检查代码并修复它。