用apache建了一个网站,但是端口是8087,只能通过ip和端口去进行访问,这样的方法太难受了,于是利用nginx做端口转发和https,这样就可以通过访问域名的方式去进行访问网站。
apahe的配置
<VirtualHost *:87>
DocumentRoot "网站路径"
ServerName 域名
<IfModule mod_rewrite.c>
RewriteEngine On
#RewriteCond %{SERVER_PORT} !^443$
#RewriteRule ^(.*)?$ https://%{SERVER_NAME}$1 [R]
</IfModule>
<Directory />
Require all granted
AllowOverride all
Order allow,deny
Allow from all
</Directory>
ErrorLog "logs/域名-error_log"
CustomLog "logs/域名_log" common
</VirtualHost>
nginx的配置
upstream admin_pool{
server 127.0.0.1:87;
}
server {
listen 80; #拦截端口
server_name 域名; #域名配置
access_log logs/admin.log;
error_log logs/admin.error;
rewrite ^(.*) https://$server_name$1 permanent;
#将所有请求转发给admin_pool池的应用处理
}
server {
listen 443 ssl;
server_name 域名;
ssl_certificate /usr/local/nginx/cert/证书;
ssl_certificate_key /usr/local/nginx/cert/证书;
ssl_session_timeout 8h;
location / {
proxy_set_header Host $host;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_pass http://admin_pool; #如果是ssl更改成https
}
}