Jau*_* Ho 21
如何结合 HTTP 和 HTTPS 块。
server {
listen 80;
listen 443 default ssl;
# other directives
}
Run Code Online (Sandbox Code Playgroud)
这是作为对另一个问题的答案发布的。见这里。
Rog*_*ger 21
到目前为止,我见过的最好的技巧来自作者在它的陷阱页面上:https : //www.nginx.com/resources/wiki/start/topics/tutorials/config_pitfalls/
Sla*_*a K 15
通常,使用“if”是一种不好的做法(根据 nginx 的作者)。如果可能,最好使用 error_page 指令的 try_file 代替“if (-f ...)”
将提示与 maintenence.html 文件和提示与 try_files 相结合,我们得到:
地点 / {
try_files /maintenance.html $uri $uri/ @wordpress;
}
当维护结束时,只需从 $root 中 mv maintenance.html。
Jau*_* Ho 11
配置 nginx 以使用更强的 SSL 密码。默认情况下,启用 SSLv2(如果可能,您应该禁用它)。
ssl_ciphers DHE-RSA-AES256-SHA:DHE-RSA-AES128-SHA:EDH-RSA-DES-CBC3-SHA:AES256-SHA:DES-CBC3-SHA:AES128-SHA:RC4-SHA:RC4-MD5;
Run Code Online (Sandbox Code Playgroud)
http://tumblelog.jauderho.com/post/121851623/nginx-and-stronger-ssl
map在切换匹配子域的根时,使用该指令代替正则表达式通常更有效:
server {
server_name mysite.tld ~^.+\.mysite\.tld$;
map $host $files {
default common;
mysite.tld common;
www.mysite.tld common;
admin.mysite.tld admin;
system.mysite.tld system;
*.mysite.tld users;
}
root /var/www/mysite/$files;
}
Run Code Online (Sandbox Code Playgroud)
该empty_gif模块也非常有用,特别是如果您需要监控来自网络服务器的响应(使用 nagios/monit/etc):
location /token {
empty_gif;
}
location /favicon.ico {
empty_gif;
}
location /img/1px.gif {
empty_gif;
}
Run Code Online (Sandbox Code Playgroud)
这是返回维护页面的好方法。所有请求都被重写并返回正确的 http 代码。(503服务不可用)
error_page 503 /maintenance.html;
location /
{
if (-f $document_root/maintenance.html)
{
return 503;
}
try_files $uri /index.php?$args;
}
location = /maintenance.html
{
rewrite ^ /maintenance.html break;
}
Run Code Online (Sandbox Code Playgroud)