Nginx with SSH Proxy on MAC

本文介绍如何在Mac上配置Nginx作为SSL反向代理服务器,包括安装Nginx、生成自签名SSL证书、配置Nginx为SSL反向代理等步骤,并解决配置过程中可能出现的问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Nginx with SSH Proxy on MAC

1. Some Tips to Enable Nginx on Proxy
Reload the Configuration
>sudo sbin/nginx -s reload

Test the configuration
>sudo sbin/nginx -t

Help to redirect the Header Information
location / {
           proxy_pass http://sillycat;
           proxy_redirect              off;
           proxy_set_header            Host $host;
           proxy_set_header            X-Real-IP $remote_addr;
           proxy_set_header            X-Forwarded-For $proxy_add_x_forwarded_for;
           client_max_body_size        10m;
           client_body_buffer_size     128k;
           proxy_connect_timeout       90;
           proxy_send_timeout          90;
           proxy_read_timeout          90;
           proxy_buffer_size           4k;
           proxy_buffers               4 32k;
           proxy_busy_buffers_size     64k;
           proxy_temp_file_write_size  64k;
}

Nginx will act as a proxy. It can cache all static file and other files.

2. Prepare Self Signed SSL certificate.
>pwd
/opt/nginx/conf

>mkdir ssl
>cd ssl

>openssl genrsa -des3 -out nginx.in.key 1024
Type the password and generate that file

To create a CSR(Certificate Signing Request)
>openssl req -new -key nginx.in.key -out nginx.in.csr 

Answer the right question.

Remove the passphrase
>cp nginx.in.key nginx.in.key.bak
>openssl rsa -in nginx.in.key.bak -out nginx.in.key

>openssl x509 -req -days 365 -in nginx.in.csr -signkey nginx.in.key -out nginx.in.crt

3. Configure Nginx As SSL Reverse Proxy
>vi conf/nginx.conf
listen       443;
ssl          on;

        ssl_certificate        ssl/nginx.in.crt;
        ssl_certificate_key    ssl/nginx.in.key;

        ssl_protocols        SSLv3 TLSv1 TLSv1.1 TLSv1.2;
        ssl_ciphers RC4:HIGH:!aNULL:!MD5;
        ssl_prefer_server_ciphers on;
        keepalive_timeout    60;
        ssl_session_cache    shared:SSL:10m;
        ssl_session_timeout  10m;

>sudo sbin/nginx -t

Error Message:
nginx: [emerg] unknown directive "ssl" in /Users/carl/tool/nginx-1.5.3/conf/nginx.conf:44
nginx: configuration file /Users/carl/tool/nginx-1.5.3/conf/nginx.conf test failed

Solution:
>cd /Users/carl/data/nginx-1.5.6
--with-http_ssl_module

>./configure --with-http_stub_status_module --with-http_ssl_module --prefix=/Users/carl/tool/nginx-1.5.6

Error Message:
./configure: error: C compiler cc is not found 

Solution:
Install Command Line Tools for Xcode from here https://developer.apple.com/downloads/index.action?name=for%20Xcode%20- 
The file named command_line_tools_os_x_mountain_lion_for_xcode__september_2013.dmg, install it.

>gcc -v
gcc is there and fine now.

>./configure --with-http_stub_status_module --with-http_ssl_module --prefix=/Users/carl/tool/nginx-1.5.6
>make
>make install

>sudo ln -s /Users/carl/tool/nginx-1.5.6 /opt/nginx-1.5.6
>sudo ln -s /opt/nginx-1.5.6 /opt/nginx

>sudo sbin/nginx -t
nginx: the configuration file /Users/carl/tool/nginx-1.5.6/conf/nginx.conf syntax is ok
nginx: configuration file /Users/carl/tool/nginx-1.5.6/conf/nginx.conf test is successful

>sudo sbin/nginx  //  sudo sbin/nginx -s reload

It is working fine.

References:
http://www.cyberciti.biz/faq/howto-linux-unix-setup-nginx-ssl-proxy/

http://www.mkyong.com/mac/how-to-install-gcc-compiler-on-mac-os-x/

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值