nginx配置https
于是乎,要自己配置https相关内容。
首先,生成证书相关文件,从网上查到资料如下:
# 生成一个RSA密钥
$ openssl genrsa -des3 -out my.key 1024
# 拷贝一个不需要输入密码的密钥文件
$ openssl rsa -in my.key -out my_nopass.key
# 生成一个证书请求
$ openssl req -new -key my.key -out my.csr
# 自己签发证书
$ openssl x509 -req -days 365 -in my.csr -signkey my.key -out my.crt
第3个命令是生成证书请求,会提示输入省份、城市、域名信息等,重要的是,email一定要是你的域名后缀的。这样就有一个 csr 文件了,提交给 ssl 提供商的时候就是这个 csr 文件。当然我这里并没有向证书提供商申请,而是在第4步自己签发了证书。
这样,就可以得到一个自己的证书了。
其次,nginx打开https。
server {
server_name you.domain.com;
listen 443;
ssl on;
ssl_certificate /opt/conf/nginx/my.crt;
ssl_certificate_key /opt/conf/nginx/my_nopass.key;
location / {
proxy_pass http://resin-core-webapp;
include /opt/conf/nginx/proxy-resin.conf;
client_max_body_size 50m;
xss_get on;
xss_callback_arg 'callback'; // 没有这行,不能支持jsonp,不行
//没有这行,前端拿不到返回数据
add_header 'Access-Control-Allow-Origin' '$http_origin';
//和上一行一起加的,未知没有会怎样
add_header 'Access-Control-Allow-Credentials' 'true';
//和上上行一起加的,未知没有会怎样
add_header 'Access-Control-Allow-Headers' '*';
}
}
最后,重启nginx,成功:
/opt/apps/nginx/sbin/nginx -s reload
以上就介绍了nginx配置https,包括了方面的内容,希望对PHP教程有兴趣的朋友有所帮助。
推荐阅读
-
在Mac OS上编译安装Nginx+PHP+MariaDB开发环境的教程,nginxmariadb_PHP教程
-
安装、配置和测试Windows,Apache,Informix与PHP服务器的分步指南_PHP教程
-
PHP的Yii框架中使用数据库的配置和SQL操作实例教程_PHP
-
mac os nginx php mysql mac os mysql 启动 mac os 10.11 mysql mac os x 安装mysq
-
mysql与Navicat for MySQL的衔接配置问题【原创】 - 橙色时光
-
NetCore3.1——Swagger配置
-
Windows系统下配置安装Apache+php实战_PHP教程
-
Jenkins 安装配置
-
NetCore3.1——AutoMapper配置
-
nginx 源码学习笔记(十三)——文件读写和配置文件读取