nginx添加https
nginx添加https
server { listen 443 ssl; ssl on; ssl_certificate cert/214037260730301.pem; ssl_certificate_key cert/214037260730301.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; server_name choteel; root /opt/apps/laravel/public; include php-fpm.conf; index index.html index.php; location /api/weather { proxy_pass http://localhost/interface/weather; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; } location / { try_files $uri $uri/ /index.php?$query_string; } }
几点注意事项:
1. 如果HTTPS方式访问网站出现无响应的情况,可以看看自己的服务器防火墙配置,是不是需要将443端口加到例外中去;
2. 注意自己xxx.pem和xxx.key的存放路径,区分相对路径和决定路径使用方式;
3. 通过Nginx安装目录下的logs文件夹中的access.log和error.log日志文件来进行排错;
4. 同一个Nginx可以配置多个HTTPS的域名,只需要将上面443端口的监听配置复制一份加到配置文件中,然后修改好相应的server_name、xxx.pem和xxx.key文件路径即可。
如果Nginx
配置了HTTPS
,那背后的Tomcat
就没有必要再进行配置了,另外,为了兼容原来80
端口的HTTP
方式的访问,可以将80端口的访问请求全部转发到443端口上,增加配置如下:
server { listen 80; server_name your-domain.com; location = / { rewrite ^(.*) https://your-domain.com/$1 permanent; } location / { rewrite ^(.*) https://your-domain.com/$1 permanent; } }