最近在配置Nginx的反向代理,通过反向代理访问到Apache下的wordpress。
在配置ssl的过程中出现了图片无法显示及页面布局混乱的问题,在这里记录一下,以作备忘,仅供参考
ssl配置过程在其他文章中记录,这里不再赘述,仅记录反向代理页面显示不正常问题的解决方法。
经过实际测试,下面的代码是维持wordpress正常显示的Nginx端最精简的配置
Nginx端
Nginx.conf配置
#配置将http自动跳转到https
server {
listen 80;
return 301 https://$host$request_uri;
}
server {
listen 443 ssl;
server_name www.danielw7.com;
ssl_certificate *.pem;#这里要加上ssl对应的pem文件的绝对路径
ssl_certificate_key *.key;#这里是.key文件的绝对路径
ssl_session_cache shared:SSL:1m;
ssl_session_timeout 5m;
ssl_ciphers HIGH:!aNULL:!MD5;
ssl_prefer_server_ciphers on;
#charset koi8-r;
#access_log logs/host.access.log main;
location / {
#定义反向代理x.x.x.x:port为要代理的地址和端口
proxy_pass http://x.x.x.x:port/;
#实测这段代码缺失会导致显示乱码
proxy_set_header X-Forwarded-Proto https;
}
Apache端配置:
搜索的时候看到网上有很多要配置wp-config.php文件的说法,但个人测试没有调整wp-config.php也可以正常访问
但是必须更改数据库wp-options表中的内容配合上面的Nginx配置才能正常显示,这里是我更改的内容,将siteurl和home都更改为了http://www.danielw7.com:8080,之后即可正常访问
这是个人部署过程的碰到的一个问题及个人的处理方案,可能不一定适用于其他的地方,仅供参考
有其他的方案也欢迎留言讨论
评论关闭。