首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Wordpress Nginx安全最佳实践

Wordpress Nginx安全最佳实践
EN

Stack Overflow用户
提问于 2020-09-05 12:24:29
回答 1查看 725关注 0票数 0

我正在考虑从Apache切换到Nginx,并且我很难确定WordPress特定的安全指令需要什么。到目前为止,我发现的几乎所有特定于WordPress的内容都会破坏wp、中断内容布局、给出ajax错误或更多。

最常见的两个建议似乎是:ethanpil/wp-secure.conf数字海洋

有什么建议或更好的来源吗?

谢谢

安德鲁

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-09-05 21:34:59

我已经把安全的WordPress NGINX配置的基本部分放在一起了,这里

最安全的方法是白名单可以通过PHP解释器运行的文件,并拒绝所有具有HTTP状态404的其他文件的请求。

代码语言:javascript
复制
    location / {

        # any URI without extension is routed through PHP-FPM (WordPress controller)
        location ~ ^[^.]*$ {
            length_hiding on;
            fastcgi_param SCRIPT_FILENAME $document_root/index.php;
            include includes/php-example.com.conf;
        }

        # allow only a handful of PHP files in root directory to be interpreted
        # wp-cron.php ommited on purpose as it should *not* be web accessible, see proper setup
        # https://www.getpagespeed.com/web-apps/wordpress/wordpress-cron-optimization
        location ~ ^/wp-(?:links-opml|login|mail|signup|trackback)\.php$ {
            length_hiding on;
            fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
            include includes/php-example.com.conf;
        }

        # other PHP files "do not exist"
        location ~ \.php$ {
            return 404;
        }
    }

最后,在/wp-content/下禁用任何PHP执行是至关重要的。

代码语言:javascript
复制
    location /wp-content/ { 
        # contents under wp-content are typically highly cacheable
        immutable on;
        # hide and do not interpret internal plugin or user uploaded scripts
        location ~ \.php$ {
            return 404;
        }
    }

如果您觉得必须以/wp-content/some.php URI的形式启动一些脚本,那么您可能需要删除一个糟糕的插件,或者(很少)使用白名单(如果要运行PHP)。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/63753876

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档