nginx加载证书原理(nginx加载命令)
nginx加载命令
nginx中设置允许跨域的响应头方法:添加如下location:location / {add_header Access-Control-Allow-Origin *;}会在响应头中添加Access-Control-Allow-Origin字段以允许跨域
nginx第一次加载太慢
https配置步骤:
1、申请SSL证书;
2、在Nginx服务器上面安装SSL证书:
(1)将证书文件(.crt文件)放到指定目录下,例如:/usr/local/nginx/conf/cert
(2)将私钥文件(.key文件)放到指定目录,例如/usr/local/nginx/conf/ssl
(3)若为CA机构签发证书,需要将中间证书文件放到指定目录下,例如/usr/local/nginx/conf/certs
3、修改Nginx配置文件:
(1)打开/etc/nginx/nginx.conf文件
(2)在http部分增加如下配置
ssl on;
ssl_certificate /usr/local/nginx/conf/cert/xxx.crt;
ssl_certificate_key /usr/local/nginx/conf/ssl/xxx.key;
ssl_session_cache shared:SSL:1m;
ssl_session_timeout 5m;
(3)如果是CA证书,还需要增加配置
ssl_client_certificate /usr/local/nginx/conf/certs/xxx.crt;
4、重新加载Nginx配置文件:nginx -s reload
5、测试配置是否正确:
(1)curl -k https://www.xxx.com (测试https是否正常)
(2)openssl s_client -connect www.xxx.com:443 (检查ssl证书是否安装正确)
nginx重新加载conf
如果nginx配置不对,就会造成部分文件,在浏览器中不是直接预览,而是进行了下载。修改的方法是修改配置文件。具体解决方法如下。
配置文件 nginx.conf
http {
include mime.types;
default_type application/octet-stream;
这里主要有两行代码。
第一行: include mine.types 对应了文件的mime类型。
第二行: 默认的是octet-stream, 意思是如果一个文件的mime类型不存在就会使用默认的类型。 通常是这个导致了文件的下载。
解决方法:
将 default_type application/octet-stream; 修改为default_type text/html; 这样就默认表示一个文件是 html文件, 就可以在浏览器中查看。
修改后可能出现的问题
上面的方面可以解决文件不在浏览器中预览的情况,但是如果有文件的扩展名对应mime信息找不到,也会进行预览, 不管文件是不是文本文件,都是当成是文本文件。
nginx 默认的 mime 类型
文件mime.types
nginx加载配置文件命令
1.使用cd /usr/local/nginx/sbin命令进入nginx安装目录的sbin文件夹。
2. 输入启动命令
sbin文件里有个nginx文件,可使用./nginx的命令进行启动。
3. 启动成功
输入启动命令后,若没有出现任何报错信息,则启动成功。
nginx添加请求参数
获取url参数
在 ngx_lua 中访问 Nginx 内置变量 ngx.var.arg_PARAMETER 即可获得GET参数PARAMETER的内容。
在 nginx配置中,通过$arg_PARAMETER 即可获得GET参数PARAMETER的内容。
获取请求头
在 ngx_lua 中访问 Nginx 内置变量 ngx.var.http_HEADER 即可获得请求头HEADER的内容。
在 nginx配置中,通过$http_HEADER 即可获得请求头HEADER的内容。
通过以下方式进行验证,比如说,通过 http://www.test.com?name=hello&id=123 来验证url的请求参数,能够在nginx中获取到,只需要修改nginx.conf 配置文件如下,就可以在access.log中看到id和name在log中
http {
include mime.types;
default_type application/octet-stream;
log_format main '{ "@timestamp": "$time_iso8601", '
'"servername": "$http_host", '
'"id": "$arg_id",'
'"name": "$arg_name",'
'"remote_addr": "$remote_addr",'
'"referer": "$http_referer",'
'"request": "$request",'
'"request_time": "$request_time",'
'"status": $status,'
'"bytes":$body_bytes_sent,'
'"agent": "$http_user_agent",'
'"x_forwarded": "$http_x_forwarded_for",'
'"upstr_addr": "$upstream_addr",'
'"upstr_host": "$upstream_http_host",'
'"ups_resp_time": "$upstream_response_time" }';
access_log logs/access.log main;
server_names_hash_bucket_size 128;
nginx加载不了网页
你让nginx运行起来,改一下配置就可以实现一个静态的web服务器。
首先你要有一台有外网Ip的linux服务器。你可以去nginx官网下载最新版的nginx压缩包,然后安装即可,如果是centos的话,也可以通过 yum install nginx 安装。
安装好之后,使用nginx start 命令启动服务器。
启动之后便可以通过直接访问服务器ip ,来访问nginx的欢迎页面。或者在服务器内部访问127.0.0.1或者localhost也可以访问这个欢迎页面。如果看到欢迎页面,说明Nginx安装成功!然后就可以把已经做好的html文件部署在Nginx中了。
nginx加载php
可能的原因:
nginx配置有误,没有将请求转发到正确的处理程序(如php-fpm等),转发到一个不存在着的路径
请求已经转发到php处理程序,但php处理程序配置没有找到对应的脚本
php已经处理了脚本,但代码里返回了一个404的状态码
本网站文章仅供交流学习 ,不作为商用, 版权归属原作者,部分文章推送时未能及时与原作者取得联系,若来源标注错误或侵犯到您的权益烦请告知,我们将立即删除.