nginx转发https协议

1,需求

内网需要访问github.com,并且是按照https://github.com这样的访问方式进行访问。

因为使用了npm install git+https://github.com/xxx/xxx.git之类的命令。

2,编译Nginx增加stream、ssl相关模块

./configure --prefix=/etc/Nginx/ 
--sbin-path=/usr/sbin/Nginx
--conf-path=/etc/Nginx/Nginx.conf
--error-log-path=/var/log/Nginx/error.log
--http-log-path=/var/log/Nginx/access.log
--pid-path=/var/run/Nginx.pid
--lock-path=/var/run/Nginx.lock
--with-stream
--with-stream_ssl_module
--with-stream_ssl_preread_module
--with-openssl=/path/to/openssl-1.0.2j
--with-pcre=/path/to/pcre-8.38

 

3,增加ssl转发配置

Nginx.conf中进行stream配置

stream {

  map $ssl_preread_server_name $backend_pool {
    github.com github;
    codeload.github.com codegithub;
  }

  upstream github{
    server github.com:443;
  }

  upstream codegithub{
    server codeload.github.com:443;
  }

  server{
    listen 443;
    ssl_preread on;
    proxy_pass $backend_pool;
    proxy_connect_timeout 15s;
    proxy_timeout 15s;
    proxy_next_upstream_timeout 15s;
  }

}

 

4,本地hosts文件配置

在中转服务器端需要配置github.com相关的hosts解析;

在本地hosts文件中,直接将github.com解析到中转服务器;

 

相关文章

developer-roadmap —— 提供最全的开发者技术路线指南。前端...
一个极简的文件分享工具,无需注册且没有广告即可生成共享下...
收集 Github、Gitee优秀的开源项目,并进行归类整理。项目地...
大家好,我是 Java陈序员,我们有时会搭建一个属于自己的网站...
一个提供交互式的Web UI用于生成兼容MyBatisPlus框架的相关功...
大家好,我是 Java 陈序员。权限认证是我们日常开发绕不过的...