本文主要记录了当前博客下针对静态资源、旧站301跳转、Https配置等一系列内容,nginx以server块来确定某一部分虚拟域名及相关配置,所以我们可以在server块中配置server_name虚拟域名,access_log访问日志,return跳转,root项目根目录,location匹配url做相应操作,error_page错误页面,listen监听端口,include包含配置文件以及其他的一些ssl等操作,下面总结一下当前所使用内容
原有旧站blog.congcong.us等都301跳转到www.congcong.us
$scheme为当前的协议
$request_uri为请求参数
配置代码如下:
- server {
- server_name congcong.us blog.congcong.us;
- access_log /
- var / log / nginx / www.access.log;#root / usr / share / nginx / html / blogtemp;
- return 301 $scheme: //www.congcong.us$request_uri;
- }
配置图片及CSS等内容根据需要进行缓存 针对图片的请求 access_log不进行记录 expires为过期时间
- location~ * ^. + \. (ico | gif | jpg | jpeg | png) $ {
- access_log off;
- expires 30d;
- }
- location~ * ^. + \. (css | js | txt | xml | swf | wav) $ {
- access_log off;
- expires 24h;
- }
过滤所有的url 如果说非以index.php结尾,那么增加这个进行rewrite
过滤所有的php结尾内容 转交由php-fpm进行处理
- location / {
- if ( - f $request_filename / index.html) {
- rewrite(. * ) $1 / index.html
- break;
- }
- if ( - f $request_filename / index.php) {
- rewrite(. * ) $1 / index.php;
- }
- if (!-f $request_filename) {
- rewrite(. * ) / index.php;
- }
- }
- location~\.php$ {
- root / usr / share / nginx / html / wordpress;
- fastcgi_pass 127.0.0.1 : 9000;
- fastcgi_index index.php;
- fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
- fastcgi_read_timeout 1000;
- include fastcgi_params;
- }
监听443端口,ssl配置开启,关联crt与key,设置ssl协议,加密算法支持等内容(腾讯云申请的免费证书)
- listen 443;
- ssl on;
- ssl_certificate "/xxx/xxx/1_www.congcong.us_bundle.crt";
- ssl_certificate_key "/xxx/xxx/2_www.congcong.us.key";
- ssl_session_timeout 5m;
- ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
- ssl_ciphers ECDHE - RSA - AES128 - GCM - SHA256: HIGH: !aNULL: !MD5: !RC4: !DHE;
- ssl_prefer_server_ciphers on;
完整配置如下:
- ##The
- default server#server {
- server_name congcong.us blog.congcong.us;
- access_log /
- var / log / nginx / www.access.log;
- return 301 $scheme: //www.congcong.us$request_uri;
- }
- server {
- server_name projects.congcong.us kindle.congcong.us;
- access_log /
- var / log / nginx / pk.access.log;
- return 302 $scheme: //congcong.us;
- }
- server {
- listen 443;
- server_name www.congcong.us;
- root / xxx / xxx / xxx / xxx / wordpress;
- index index.php index.html index.htm;
- #Load configuration files
- for the
- default server block.include / xxx / xxx /
- default.d
- /*.conf;
- location ~* ^.+\.(ico|gif|jpg|jpeg|png)$ {
- access_log off;
- expires 30d;
- }
- location ~* ^.+\.(css|js|txt|xml|swf|wav)$ {
- access_log off;
- expires 24h;
- }
- location / {
- if (-f $request_filename/index.html){
- rewrite (.*) $1/index.html break;
- }
- if (-f $request_filename/index.php){
- rewrite (.*) $1/index.php;
- }
- if (!-f $request_filename){
- rewrite (.*) /index.php;
- }
- }
- location ~ \.php$ {
- root /xxx/xxx/xxx/xxx/wordpress;
- fastcgi_pass 127.0.0.1:9000;
- fastcgi_index index.php;
- fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
- fastcgi_read_timeout 1000;
- include fastcgi_params;
- }
- error_page 404 /404.html;
- location = /40x.html {
- }
- error_page 500 502 503 504 /50x.html;
- location = /50x.html {
- }
- ssl on;
- ssl_certificate "/xxx/xxx/1_www.congcong.us_bundle.crt";
- ssl_certificate_key "/xxx/xxx/2_www.congcong.us.key";
- ssl_session_timeout 5m;
- ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
- ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:HIGH:!aNULL:!MD5:!RC4:!DHE;
- ssl_prefer_server_ciphers on;
- }
- server {
- listen 80 default_server;
- server_name www.congcong.us;
- root /xxx/xxx/xxx/xxx/wordpress;
- index index.php index.html index.htm;
- # Load configuration files for the default server block.
- include /xxx/xxx/default.d/*.conf;
- location ~* ^.+\.(ico|gif|jpg|jpeg|png)$ {
- access_log off;
- expires 30d;
- }
- location ~* ^.+\.(css|js|txt|xml|swf|wav)$ {
- access_log off;
- expires 24h;
- }
- location / {
- if (-f $request_filename/index.html){
- rewrite (.*) $1/index.html break;
- }
- if (-f $request_filename/index.php){
- rewrite (.*) $1/index.php;
- }
- if (!-f $request_filename){
- rewrite (.*) /index.php;
- }
- }
- location ~ \.php$ {
- root /xxx/xxx/xxx/xxx/wordpress;
- fastcgi_pass 127.0.0.1:9000;
- fastcgi_index index.php;
- fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
- fastcgi_read_timeout 1000;
- include fastcgi_params;
- }
- error_page 404 /404.html;
- location = /40x.html {
- }
- error_page 500 502 503 504 /50x.html;
- location = /50x.html {
- }
- }*/
来源: https://www.congcong.us/post/nginx_rewrite_ssl_setting.html