更新 我用插件解决了混合内容的问题 现在的主要问题是,当我进入管理员登录页面时,我被重定向到<>内的登录页面。而是我的域名
我在Amazon Elastic Beanstalk上有一个Rails应用程序,它位于Amazon Elastic Load Balancer后面。 在与Rails应用程序相同的服务器上,我有一个带有反向代理的nginx服务器,用于另一台服务器上的Wordpress博客。 (因此可以通过example.com/blog访问)
我们的域位于GoDaddy,我有一个转发规则,从example.com到https://www.example.com。域本身将转发到ELB的CNAME
在Load Balancer上有一个端口443的监听器,它被转发到端口80
在服务器内部,我有一条强制从http重定向到https的规则
当我使用没有Load Balancer的单个服务器时,反向代理工作正常,但自从我开始使用它以来,博客的资产未正确加载,我收到混合内容错误。{{ 3}}
nginx配置在没有elb的情况下工作:
server {
listen 80;
server_name <<rails-app-domain>>;
if ($time_iso8601 ~ "^(d{4})-(d{2})-(d{2})T(d{2})") {
set $year $1;
set $month $2;
set $day $3;
set $hour $4;
}
access_log /var/log/nginx/access.log main;
access_log /var/log/nginx/healthd/application.log.$year-$month-$day-$hour healthd;
location /health_check {
access_log off;
return 200;
}
location / {
if ($http_x_forwarded_proto != 'https') {
return 301 https://$server_name$request_uri;
}
proxy_pass http://my_app;
proxy_set_header Host $host;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
location ^~ /blog {
proxy_pass http://<<wordpress-server-ip>>/blog;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_redirect http://<<wordpress-server-ip>>/ https://$host/;
proxy_cookie_domain <<wordpress-server-ip>> $host;
}
location /assets {
alias /var/app/current/public/assets;
gzip_static on;
gzip on;
expires max;
add_header Cache-Control public;
}
location /public {
alias /var/app/current/public;
gzip_static on;
gzip on;
expires max;
add_header Cache-Control public;
}
location /cable {
proxy_pass http://my_app;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
}
}
wordpress wp-config.php:
define('WP_SITEURL', 'https://<<rails-app-domain>>/blog');
define('WP_HOME', 'https://<<rails-app-domain>>/blog');
define('FORCE_SSL_ADMIN', true);
我尝试了什么:
在nginx中添加端口443的侦听器并重定向端口 443负载均衡器到服务器的端口443(而不是80 像之前一样)
删除GoDaddy上的域转发