在这之前,我们也需要安装 nss 。
后记
如果你想创建多个虚拟主机,以后只需要在vhost文件夹中添加新的.conf文件就可以了
如果您有任何问题,请发邮件至 cocoayog@163.com,我将尽快回复。
原文:--preview/
- 借助 node-http-proxy 包,创建一个进行端口转发的node项目,实现反向代理;
- 使用Nginx实现反向代理
如果我们看到这些字样
node服务器实现反向代理的方法,以我所了解的通常有两种:
brew install nss
Nginx反向代理
- 安装Nginx后,找到Nginx的配置文件: nginx.conf
(centOS默认安装情况下,一般在以下路径:/usr/local/nginx/conf/nginx.conf)
nginx.conf
- 在nginx.conf文件所在目录新建一个 vhost文件夹。(用来统一存放每个虚拟主机的配置文件,方便以后管理,其他名字也可以)。
vhost文件夹
- 进入vhost文件夹,新建 demo_host.conf 文件。(同样文件名不做要求,但是建议以域名或者子域名作为文件名,方便以后c修改)
Jietu20170806-194504.png
- 在demo_host.conf文件中,写入以下内容:
upstream yourhost {
server 127.0.0.1:3000;
keepalive 64;
}
server {
listen 80;
server_name yourhostname.com;
access_log /var/log/nginx/demohost.log;
location / {
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header Host $http_host;
proxy_set_header X-Nginx-Proxy true;
proxy_set_header Connection "";
proxy_pass http://yourhost;
}
}
下面配图解释一下:
Jietu20170806-201802.png
如果你需要给这个域名配置https证书,只需要做出如下改变:
Jietu20170806-202739.png
- 最后在nginx.conf文件中添加这样如下代码就可以了
include /usr/local/nginx/conf/vhost/*.conf;
导入位置如下:
Jietu20170806-203420.png
- 完成。重启nginx后,反向代理就生效了。
Serving static path: /Users/www/freleap.github.iohttp to redirection active.Server running on port 443.
使用场景
需要在同一个服务器上运行多个node项目;
每个node项目使用不同的端口;
需要通过不同的域名或者子域名,访问不同的node服务
一般我们本地预览的时候,一般就用 localhost + 端口 就行了,再有需要的话,会类似修改 Hosts ,然后进行域名的绑定
在这里我主要介绍一下,如何使用Nginx实现反向代理。
借助 Fiddler 或者 Charles 可以实现代理,从而让手机进行域名的访问。不过我们有的时候需要访问 的服务。 这个时候相对来说,我们可以在使用 serve 基础上,安装 -localhost 来进行服务的启动。
第一个中方法我也就不多说了,这里有个博客推荐给大家 :《用 nodejs 做反向代理服务器》,从事node开发的朋友应该都能看明白。
npm i -g --only=prod -localhost
我之所以选择Nginx作方向代理,是因为接手的项目是使用的Nginx,另一个原因是因为,之前,我懂的如何使用Nginx给不同的域名配置https证书,也就没想着再使用nodejs做方向代理。如果有人问,这两种方法,哪个性能更好一些?抱歉,本人也没有做过测试。
本文由10bet发布于Web前端,转载请注明出处:快速实现本地 https 预览【10bet】
关键词: