Apache 基本配置 代理 重定向 跨域 https ssl证书 在windows下常用命令

官网下载地址

https://httpd.apache.org/ => https://httpd.apache.org/docs/current/platform/windows.html#down

 => https://www.apachelounge.com/download/#google_vignette

基本配置

使用文本编辑器,打开 Apache 服务器 conf 目录下 httpd.conf 文件

修改 ServerRoot 为Apache工作目录,如:D:/Apache。目录不要使用反斜杠。

修改 Listen 端口号,使用没有占用的端口号即可

修改 DocumentRoot,把 DocumentRoot 修改:D:/Apache/htdocs。

把Apache安装为Windows Service

以管理员的方式打开CMD.输入:D:\Apache\bin\httpd.exe -k install -n Apache  回车

意为安装Windows可托管的Apache服务,其中 "-n后面参数是Windows服务名称,之后可使用Windows管理服务的命令来管理apache服务

如 "net start/stop apache"(启动/停止服务)。服务安装完毕后,会自动测试,若有问题,窗口会提示错误,需要解决掉。

删除

D:\Apache\bin\httpd.exe -k uninstall -n Apache

启动

httpd 需要加入环境变量
httpd -k start          无详细的错误信息
httpd -k start -n apache      apach 为服务名 
httpd -k restart -n apache     重启
net start apache          Windows托管服务命令

或计算机管理、服务里面启动停止

或找到bin目录下的ApacheMonitor.exe,运行,桌面右下角图标点开界面

停止 stop 或 shutdown

SSL基本配置

复制证书到 conf 目录下 ssl 文件夹(新建)

使用文本编辑器,打开 Apache 服务器 conf 目录下 httpd.conf 文件,并删除以下字段前 # 注释符

#LoadModule ssl_module modules/mod_ssl.so
#
LoadModule socache_shmcb_module modules/mod_socache_shmcb.so
#Include conf/extra/httpd-ssl.conf

使用文本编辑器,打开 Apache 服务器 conf\extra 目录下 httpd-ssl.conf 文件

修改 httpd-ssl.conf 文件,将以下字段参数设置为上传的证书文件路径

SSLCertificateFile "C:/apache/conf/ssl/***.com.crt"
SSLCertificateKeyFile "C:/apache/conf/ssl/***.com.key"
SSLCertificateChainFile "C:/apache/conf/ssl/**_root_bundle.crt"

 

HTTP 自动跳转 HTTPS 

使用文本编辑器,打开 Apache 服务器 conf 目录下 httpd.conf 文件,并删除以下字段前 # 注释符。

 
#LoadModule rewrite_module modules/mod_rewrite.so

并在网站运行目录配置字段。如: <Directory "C:/xampp/htdocs"> 字段中添加如下内容:

<Directory "C:/xampp/htdocs">
RewriteEngine on
RewriteCond %{SERVER_PORT} !^443$
RewriteRule ^(.*)?$ https://%{SERVER_NAME}%{REQUEST_URI} [L,R]
</Directory>

代理

开启

#LoadModule proxy_module modules/mod_proxy.so
#LoadModule proxy_http_module modules/mod_proxy_http.so
#LoadModule proxy_express_module modules/mod_proxy_express.so

添加配置

#正向代理
ProxyRequests On
ProxyVia On

<Proxy "*">
  Require host internal.example.com
</Proxy>

#反向代理
ProxyPass "/foo" "http://foo.example.com/bar"
ProxyPassReverse "/foo" "http://foo.example.com/bar"

跨域

确保打开

LoadModule headers_module modules/mod_headers.so

找到需要配置的<Directory>  </Directory>,添加

Header set Access-Control-Allow-Origin * //允许所有ip访问,根据需要指定ip
Header set Access-Control-Allow-Credentials true
Header set Access-Control-Allow-Headers "Origin, X-Requested-With, Content-Type, Accept, authorization" //authorization是自定义的授权字段
Header set Access-Control-Allow-Methods "GET, POST, OPTIONS, HEAD, PUT, DELETE, PATCH" //允许所有方法,根据需要做适当删减

重定向

确保打开

#LoadModule rewrite_module modules/mod_rewrite.so

找到需要配置的<Directory>  </Directory>,添加

RewriteEngine on
RewriteRule /(.*) https://www.***.com

RewriteRule /(.*) /other/path
 RewriteRule /(.*) /api%{REQUEST_URI}

官网文档 https://httpd.apache.org/docs/current/mod/mod_proxy.html

原文地址:https://www.cnblogs.com/jiayouba/p/15650263.html