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
文件,并删除以下字段前 #
注释符。
并在网站运行目录配置字段。如: <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
官网文档 https://httpd.apache.org/docs/current/mod/mod_proxy.html