nginx 配置http和https验证
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了nginx 配置http和https验证,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含2480字,纯文字阅读大概需要4分钟。
内容图文
![nginx 配置http和https验证](/upload/InfoBanner/zyjiaocheng/940/2609fb93b3bc4be392b96d773723d40a.jpg)
申请SSL证书
在腾讯云申请
申请成功后下载到本地,上传到服务器上
nginx配置
假设项目名称为flask_demo
vim /etc/nginx/nginx.conf
http { include /etc/nginx/mime.types; default_type application/octet-stream; log_format main '$remote_addr - $remote_user [$time_local] "$request" ' '$status $body_bytes_sent "$http_referer" ' '"$http_user_agent" "$http_x_forwarded_for"'; access_log /var/log/nginx/access.log main; sendfile on; #tcp_nopush on; keepalive_timeout 65; #gzip on; #include /etc/nginx/conf.d/*.conf; #增加配置文件 include /etc/nginx/demo.d/flask_demo.conf; }
把证书文件拷贝到demo.d文件夹中
flask_demo配置
监听http和https两个端口
server { listen 80 default backlog=2048; listen 443 ssl; server_name xx.xx.cn; #你自己的域名 #证书文件名称 ssl_certificate demo.d/1_xx.xx.cn_bundle.crt; #你自己的证书 #私钥文件名称 ssl_certificate_key demo.d/xx.xx.cn.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; charset UTF-8; access_log /var/log/nginx/myweb_access.log; error_log /var/log/nginx/myweb_error.log; client_max_body_size 75M; location / { try_files $uri @yourapplication1; } location @yourapplication1 { include uwsgi_params; uwsgi_pass unix:/home/ubuntu/data/www/logs/demo.sock; uwsgi_read_timeout 1800; uwsgi_send_timeout 300; } }
如果htttp访问的时候,报错如下:
400 Bad RequestThe plain HTTP requset was sent to HTTPS port. Sorry for the inconvenience.
…… ? 原因可能是http的请求被发送到https的端口上去了,所以才会出现这样的问题。 把ssl on;这行去掉
验证
https:
http:
HTTP 自动跳转 HTTPS 的安全配置
server { #listen 80 default backlog=2048; listen 443 ssl; server_name xx.xx.cn; #证书文件名称 ssl_certificate demo.d/1_xx.cn_bundle.crt; #私钥文件名称 ssl_certificate_key demo.d/2_xx.cn.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; charset UTF-8; access_log /var/log/nginx/myweb_access.log; error_log /var/log/nginx/myweb_error.log; client_max_body_size 75M; location / { try_files $uri @yourapplication1; } location @yourapplication1 { include uwsgi_params; uwsgi_pass unix:/home/ubuntu/data/www/logs/demo.sock; uwsgi_read_timeout 1800; uwsgi_send_timeout 300; } } server { listen 80; server_name xx.cn; #你自己的域名 rewrite ^(.*) https://xx.cn$1 permanent;#把http的域名请求转成https
}
验证:
内容总结
以上是互联网集市为您收集整理的nginx 配置http和https验证全部内容,希望文章能够帮你解决nginx 配置http和https验证所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。