1
yangqi 2014-07-06 12:14:48 +08:00
装了缓存插件没?
|
3
yangzh OP 好像还是不能 append。我这里追加评论。
用的是 lnmpa 的模式:前 nginx -> 后 apache 那样。 我在php 文件中加入一句 <?php echo $_SERVER['SERVER_PORT']; ?>,即使在 https 网址访问这个 php 文件, echo 出来的端口依然是 80。估计这就是 wordpress 不能自动转换 https 的原因了。我猜测是 nginx 的配置有问题。有没有哪位大神指出 nginx 怎样配置才对啊。 nginx 的与 apache 有关的 server 段: server{ #... location / { try_files $uri @apache; } location @apache { internal; proxy_pass http://127.0.0.1:88; include proxy.conf; } location ~ [^/]\.php(/|$) { proxy_pass http://127.0.0.1:88; include proxy.conf; } } |
4
yangqi 2014-07-06 12:41:37 +08:00
那肯定是nginx没配置好了
https的配置基本和http的一样, 除了证书部分, 你给出的server是http还是https的? |
7
yangzh OP |
8
yangzh OP @yangqi
nginx配置的证书肯定是好的。直接访问 https://example.com/wp-content/themes/twentytwelve/style.css 是没有问题的,浏览器绿色小锁什么的应有尽有。 就是什么 https http 等信息 php 或 apache 不能正确获取。 |
10
zhouzb889 2014-07-06 18:38:57 +08:00
|
12
panlilu 2014-07-06 19:21:56 +08:00
试一下把设置-常规选项里面的两个地址改成https打头的地址
|
14
soome 2014-08-16 00:05:11 +08:00
同是lnmpa的。
最近在弄ssl的问题,百思不得其姐。 看了很多文章,用下面的配置,已经接近完全成功。 nginx配置一个443的server,一个80的server(我这个用来强制跳转到https)。 nginx的配置文件: server { listen 443; #listen [::]:80; server_name ca.net www.ca.net; index index.html index.htm index.php default.html default.htm default.php; root /home/xxxxx/xxxxx; ssl on; ssl_certificate crt; #修改具体文件 ssl_certificate_key key; #修改具体文件 ssl_protocols SSLv3 TLSv1 TLSv1.1 TLSv1.2; ssl_ciphers RC4:HIGH:!aNULL:!MD5; ssl_prefer_server_ciphers on; keepalive_timeout 60; ssl_session_cache shared:SSL:10m; ssl_session_timeout 10m; location / { try_files $uri @apache; } location @apache { internal; proxy_pass http://127.0.0.1:88; include proxy.conf; } location ~ [^/]\.php(/|$) { proxy_pass http://127.0.0.1:88; include proxy.conf; } location ~ .*\.(gif|jpg|jpeg|png|bmp|swf)$ { expires 30d; } location ~ .*\.(js|css)?$ { expires 12h; } access_log off; } server { listen 80; server_name sinoca.net www.sca.net; rewrite ^/(.*) https://www.ca.net/$1 permanent; } apache要怎么弄? 默认不设置的话,混合内容直接被chrome和火狐过滤掉。也就是引入的http链接的css,js等不会加载,网页框架就不正常了。 apache也需要开启ssl。 apache配置文件: <VirtualHost *:88> ServerAdmin [email protected] php_admin_value open_basedir "/xxxx/xxxx/xxxx:/tmp/:/var/tmp/:/proc/" DocumentRoot "/xxxx/xxxx/xxxx" ServerName ca.net ServerAlias www.ca.net #SSL Engine Switch: #Enable/Disable SSL for this virtual host. SSLEngine on # Server Private Key: # If the key is not combined with the certificate, use this # directive to point at the key file. Keep in mind that if # you've both a RSA and a DSA private key you can configure # both in parallel (to also allow the use of DSA ciphers, etc.) SSLCertificateFile ".crt" SSLCertificateKeyFile "/usr/.......key" #ErrorLog "logs/-error_log" #CustomLog "logs/-access_log" common </VirtualHost> 重启服务就可以解决大部分问题了。主题和wordpress自带的css以及js这时候都是https链接了。 因为wordpress的主题和插件太随意,还是有部分资源以http开头,这个需要自己去修改了。 这些资源多半是设置的绝对链接。 http://v2.freep.cn/3tb_14081523585682cu512293.png 目前的疑问是,apache(2.2.27)是否支持单ip多证书的问题,有知道的么? |