Nginx设置https

2019-02-24 19:56:00     

背景

常年混迹于各大网站,难免会听到各种风声。这不,今天又听到点消息。隔壁网站张大爷说,带有https的网站会比http的网站安全,不仅如此,网站收录的时候,还更容易收录https的网站,收录蜘蛛觉得https的网页安全、质量高,比起同等HTTP网站,采用HTTPS加密的网站在搜索结果中的排名将会更高。

这个有点意思,查找了下资料,还真是那么回事。那怎么把网站设置成https呢?准备开撸...

过程

我这边的服务器是阿里云的,来到阿里云控制台,找了一下SSL证书。My God...几千块一年,我什么时候变这么大胆了,居然敢看几千块钱的东西?眼睛不自觉的往左上角一瞄,免费证书。居然还免费使用一年,一年就一年吧,先用着。

按照官方的步骤:

  • 在证书控制台下载Nginx版本证书,下载到本地的是一个压缩文件,解压后里面包含.pem文件是证书文件,.key文件是证书的私钥文件
  • 在Nginx的安装目录下创建cert目录,并且将下载的全部文件拷贝到cert目录中。如果申请证书时是自己创建的CSR文件,请将对应的私钥文件放到cert目录下并且命名为a.key

接下来就修改 Nginx 安装目录下 conf 目录中的 nginx.conf 文件

    server {
    listen 443;
    server_name www.test.com;
    ssl on;
    ssl_certificate   cert/a.pem;
    ssl_certificate_key  cert/a.key;
    ssl_session_timeout 5m;
    ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4;
    ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
    ssl_prefer_server_ciphers on;
    location / {
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header HOST $http_host;
        proxy_set_header X-NginX-Proxy true;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header X-Forwarded-Proto $scheme;
		#代理地址(本地项目访问地址)
        proxy_pass http://127.0.0.1:1111;
		#禁止跳转
        proxy_redirect off;
    }

重启nginx(nginx -s reload),此时输入https://www.test.com成功的访问到了该网站

但是!!!我输入www.bounds.top的时候,却不会自动跳转到https://www.test.com。再查资料,发现在80端口处还需要地址重定向

server {
        listen       80;
        server_name  test.com www.test.com;
		rewrite ^/(.*)$ https://test.com:443/$1 permanent; 
	}

有时候我们输入www.test.com,系统会默认使用80端口访问就是默认的http。这里使用地址重定向到443端口,也就是https。此时不管是输入test.com还是www.test.com都会跳转到https://test.com

nginx常用命令

  • 启动nginx:start nginx
  • 查看版本号:nginx -V
  • 停止 nginx:nginx -s stop
  • 退出nginx:nginx -s quit
  • 重启nginx:nginx -s reload
解决“Maven项目中的Dynamic Web Module 3.0 requires Java 1.6 or newer”问题

一、错误描述在Markers标签页中显示的错误为:Dynamic Web Module 3.0 requires Java 1.6 or newer.这个问题简直让人抓狂,几个月前就遇到过,当时花了几个小时没解决,看他不影响项目运行就放他了。如今又遇到,看到一把红叉在项目上,实在看不顺眼,坚决把它消灭二、解决方案1.找到web.xml文件,源文件为如下配置:<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xsi:schemaLocation="http://java.sun.com/xml/

那些年在Eclipse上踩过的坑

一、build automatically1.起源Eclipse有时候抽筋,莫名其妙就出现假死状态,网上查找方案说:取消勾选的 project >> build automatically 傻傻的就照做了2.错误描述自从我把上面那个勾选取消之后,随之而来的一系列问题就出现了。我在做项目的时候发现我的项目不能自动编译了,就是每次修改完项目,运行后的数据都是最原始的。只有我手动去clean...或者debug运行项目才能得到我修改后的数据。3.问题解决最后把之前取消勾选的project >> build automatically功能勾选上了,项目就自动编译了

 发表评论