如何配置相对安全的Nginx站点?

什么是Nginx?点我


题外话不多说,直接上笔记吧。笔记是结合自己整理的、和相关官方文档,并整理成适合自己的一份配置文件,会有详细描述。


1.如何申请ssl证书?
go to baidu:点我


2.如何生成自建证书?
点我Linux下生成自建的SSL证书


3.我用的是web是tomcat,如何配置tomcat上证书,和配置http强制跳转https?
点我开启tomcat的https证书服务和http强制跳转https功能


4.如何配置Nginx全站HTTPS?
nginx强制使用https访问(http跳转到https)
需要在配置文件nginx.conf中的http配置项server块中加入一行重写规则:

  server {  
    listen  80;  
    server_name   iloveyouqq.cn;  
 ***
    rewrite ^(.*)$  https://$host$1 permanent;  #用正则匹配,将访问站点的所有url都重写成https://开头。
***
    }  

5.当小站持续性被攻击,如何做最终的防御?
1),关闭站点;
2),将域名解析IP切到BAT域名;


6.证书购买了,如何安装证书到nginx?
需要在配置文件中,去掉&复制多一个server。内容为ssl的配置项:

    server {
        listen       443 ssl;
        server_name  iloveyouqq.cn;

        ssl_certificate      iloveyouqq.cn.crt; ###公钥文件,将你的公钥文件,复制到nginx的主目录下
        ssl_certificate_key  iloveyouqq.cn.key; ###私钥文件,将你的私钥文件,复制到nginx的主目录下
        ssl_session_cache    shared:SSL:1m;
        ssl_session_timeout  5m;
        ssl_ciphers  HIGH:!aNULL:!MD5;
        ssl_prefer_server_ciphers  on;
        #autoindex on;
        charset utf-8,gbk;
        access_log   logs/access.log;
        error_log    logs/error.log;
        rewrite_log on;

改完后,重载配置文件即可。


7.部分页面中文字符有乱码情况?
加入一行定义字符编码的参数:

        location / {
        root   html;
        index  index.html index.php;
        charset utf-8,gbk;   ###定义字符集为utf-8和gbk格式
        }

8.开启访问、错误、重写规则日志打印

    server {
        listen       443 ssl;
        server_name  iloveyouqq.cn;
...
        access_log   logs/access.log; ###开启打印访问日志
        error_log    logs/error.log;  ###开启打印错误日志
        rewrite_log on;               ###开启打印重写规则日志
...

9.

标签: none

评论已关闭