- 在Centos中配置Nginx做https的反向代理
只需要修改之前所描述的*.conf文件即可,具体内容如下:
server {
listen 80;
listen 443;
server_name
ssl on;
ssl_certificate
ssl_certificate_key
ssl_session_timeout 5m;
ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4;
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
ssl_prefer_server_ciphers on;
server_name
root /usr/share/nginx/html;
# Load configuration files for the default server block.
include /etc/nginx/default.d/*.conf;
location / {
proxy_pass http://website:port;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_redirect http:// $scheme://; #做https跳转
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
error_page 404 /404.html;
location = /40x.html {
}
error_page 500 502 503 504 /50x.html;
location = /50x.html {
}
}
注意:
ssl on
:表示开启SSL协议;
ssl_certificate
:指定SSL证书的crt文件路径(如果是阿里云的证书则是pem文件);
ssl_certificate_key
:指定SSL证书的key文件路径;
其他ssl开头的可以照搬;
proxy_pass
:指定代理的地址,可以是外网地址,也可以是内网地址;
- 在Windows中配置Nginx做https的反向代理
下载后将压缩文件解压到合适的目录,可以看到如下图的目录结构:
Nginx下载运行nginx.exe
即可,不过这样运行不是在windows的服务中运行,这样关闭和重新启动都很不方便,也不稳定,一般建议是将Nginx做为windows服务来运行。
<?xml version="1.0" encoding="UTF-8" ?>
<service>
<id>nginx</id>
<name>nginx</name>
<description>nginx</description>
<executable>D:\java\nginx-1.11.8\nginx.exe</executable>
<logpath>D:\java\nginx-1.11.8\</logpath>
<logmode>roll</logmode>
<depend></depend>
<startargument>-p D:\java\nginx-1.11.8\</startargument>
<stopargument>-p D:\java\nginx-1.11.8\ -s stop</stopargument>
</service>
注意:将executable
、logpath
、startargument
、stopargument
这几个地方的路径修改为自己nginx的安装目录即可。
打开命令提示符窗口进入到nginx-server.exe
所在目录,键入:nginx-server.exe install
即可安装windows服务,nginx-server.exe uninstall
卸载windows服务。
现在开始配置。
在windows中Nginx的配置文件在:安装目录/conf/nginx.conf,在这个配置文件中复制一个server
来做修改,内容如下:
server {
listen 443 ssl;
server_name
ssl_certificate
ssl_certificate_key
ssl_session_cache shared:SSL:1m;
ssl_session_timeout 5m;
ssl_ciphers HIGH:!aNULL:!MD5;
ssl_prefer_server_ciphers on;
location / {
#root html;
#index index.html index.htm;
proxy_pass http://localhost:81;
proxy_set_header Host $host;
proxy_redirect http:// $scheme://; #做https跳转
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
}
注意:具体描述跟上面Centos中的一样。ssl_certificate
和ssl_certificate_key
对应值没有写路径是因为我已经将这两个文件复制到了conf所在目录。
nginx-server.exe start
:启动服务
nginx-server.exe stop
:停止服务