本帖最后由 yaming1106 于 2018-9-10 11:09 编辑
如何配置nginx https
Nginx (engine x) 是一个高性能的HTTP和反向代理服务,可以用来转发内网的服务及静态文件服务。
重要
首先你需要一个域名,不然用不用它都无所谓
首先你需要一个域名,不然用不用它都无所谓
首先你需要一个域名,不然用不用它都无所谓
为什么用它?
以上其实都是废话没啥用,说白了用它就是为了通过不同的域名可以转发到不同的内网服务上面,家用宽带最多就一个公网ip,在访问家里不想带端口的时候挺有用的.
安装
ubuntu 16.04 上安装Nginx
sudo apt-get update
sudo apt-get install nginx
centos 上安装Nginx
yum -y install epel-release
yum -y install nginx
服务状态
#查看服务状态
systemctl status nginx
#或
service nginx status
# 启动
systemctl start nginx
浏览器访问你机器的ip,出现一下画面表示安装成功了
配置转发
ubuntu 和centos 配置文件放的位置稍稍有点不同,用法上是相同的。
- ubuntu在
/etc/nginx/sites-enabled
- centos在
/etc/nginx/conf.d
转发一下路由器远程配置界面,像我家路由器是k2p ,我会新建一个叫 k2p.conf 配置如下
然后去你的域名提供商那里配置一个A记录,指向你家里的ip即可.
server {
server_name 域名;
# k2.xxx.com
listen 80 ;
location / {
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_set_header Host $host:$server_port;
proxy_pass http://192.168.3.12;
}
}
nginx -s reload
即可访问你的 k2.xxx.com
Https
说白了就是加密传输你的数据详细说明可以查看百度百科 ,这里就不的不提一下 Let's Encrypt ,给大家提供免费的https证书的机构 ,极大的促进了 https发展。
server {
server_name k2.xxx.com;
listen 443 ssl;
ssl_certificate /etc/nginx/ssl/证书的cer或crt文件;
ssl_certificate_key /etc/nginx/ssl/ 证书的key;
ssl_prefer_server_ciphers on;
location / {
proxy_ssl_server_name on;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_set_header Host $host:$server_port;
proxy_pass http://192.168.3.12;
}
}
如何申请免费的https证书
这里又要安利一个国人 帮我们写好的工具 acme.sh。
|