官网下载地址

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

Apache 基本配置 代理 重定向 跨域 https ssl证书 在windows下常用命令的更多相关文章

  1. VUE前端项目配置代理解决跨域问题

    VUE前端项目配置代理解决跨域问题 问题如下,经常在本地调试接口出现这种问题 解决方式1:Chrome 的扩展插件 以前使用Chrome 的扩展插件,但是有时候还是会出现莫名其妙的问题. 需要梯子才行 ...

  2. 前端通过Nginx反向代理解决跨域问题

    在前面写的一篇文章SpringMVC 跨域,我们探讨了什么是跨域问题以及SpringMVC怎么解决跨域问题,解决方式主要有如下三种方式: JSONP CORS WebSocket 可是这几种方式都是基 ...

  3. windows环境下 nginx+iis 反向代理解决跨域问题

    项目基本完成,是时候花点时间整理一下最近的姿势了 1 什么是跨域? 网上对于跨域的概念会有大篇幅的文章去解释,似乎有点玄乎,初学者很容易对这个概念产生恐惧,跨域其实很简单,其实只要知道一点,无法跨域访 ...

  4. 搞懂:前端跨域问题JS解决跨域问题VUE代理解决跨域问题原理

    什么是跨域 跨域:一个域下的文档或脚本试图去请求另一个域下的资源 广义的跨域包含一下内容: 1.资源跳转(链接跳转,重定向跳转,表单提交) 2.资源请求(内部的引用,脚本script,图片img,fr ...

  5. nginx介绍(六) - 通过反向代理实现跨域访问

    前言 跨域访问问题, 相信很多人都遇到过, 并且都用不同的办法去解决过. 方法有很多种, 不一一叙述了. 这里主要使用nginx反向代理来解决跨域问题. 啥是跨域 假如你是百度开发人员, 在百度页面去 ...

  6. .NET 反向代理 YARP 跨域请求 CORS

    使用过 nginx 的小伙伴应该都知道,这个中间件是可以设置跨域的,作为今天的主角,同样的 反向代理中间件的 YARP 毫无意外也支持了跨域请求设置. 有些小伙伴可能会问了,怎样才算是跨域呢? 在 H ...

  7. nginx反向代理实现跨域请求

    nginx反向代理实现跨域请求 跨域请求可以通过JSONP实现,缺点是需要修改被请求的服务器端代码进行配合,稍显麻烦通过在自己服务器上配置nginx的反向代理,可以轻松实现跨域请求 思路 示例服务器A ...

  8. nginx反向代理解决跨域问题

    跨域:浏览器从一个域名的网页去请求另一个域名的资源时,域名.端口.协议任一不同,都是跨域 . 下表格为前后端分离的域名,技术信息:   域名 服务器 使用技术 前端 http://b.yynf.com ...

  9. VUE线上通过nginx反向代理实现跨域

    1.NGINX反向代理实现跨域 VUE代码中配置参考上一篇文章 nginx配置,红色框线内: 代码: location /list { proxy_set_header X-Real-IP $remo ...

  10. web代理进行跨域访问

    通过web代理进行跨域访问,http请求返回超时的问题定位   [现象] 在ajax通过web代理跨域访问时,http第一次登陆时正常,但是第二次再下发其他命令的时候总是返回 java.net.Soc ...

随机推荐

  1. OneinStack基础搭建typecheo轻量级博客

    利用OneinStack搭建运行环境 1.访问oneinstack官网https://oneinstack.com/auto/,选择自动安装-自定义安装,根据自己需求生成linux 执行命令(这里我安 ...

  2. ElasticSearch、ElasticSearch-head的安装和问题解决

    前言:elasticsearch作为一个基于Lucene的分布式搜索引擎,其搜索功能的强大之处不用多说,而elasticsearch-head作为一个node项目,能够轻松管理elasticsearc ...

  3. Java使用Calendar获取月最大天数

    Calendar calendar = Calendar.getInstance(); calendar.set(Calendar.YEAR, year); calendar.set(Calendar ...

  4. windows 链接 MySQL8.0.28 报错: SSL connection error: unknown error number 解决办法

    找到 My.ini文件,以管理员身份打开并在  [mysqld]   节点下 增加   skip_ssl   选项并保存,重启 MySQL 服务 执行SQL语句    SHOW VARIABLES L ...

  5. Tomcat启动报A fatal error has been detected by the Java Runtime Environment

    # # A fatal error has been detected by the Java Runtime Environment: # #  SIGSEGV (0xb) at pc=0x0000 ...

  6. (已解决)nginx+tp,怎么设置 省略index.php的url访问。

    打开vhosts.conf,在localhost / {}里面加入下面的代码: if (!-e $request_filename) { rewrite ^(.*)$ /index.php?s=$1 ...

  7. 用 go 实现多线程下载器

    本篇文章我们用Go实现一个简单的多线程下载器. 1.多线程下载原理 通过判断下载文件链接返回头信息中的 Accept-Ranges 字段,如果为 bytes 则表示支持断点续传. 然后在请求头中设置 ...

  8. @dynamicMemberLookup(动态成员查找)

    动态成员查找是 Swift 中的一项功能特性,可提高与 Python 或 Javascript 等动态语言的互操作性.它允许动态成员查找调用看起来像访问类型属性的常规调用: let people = ...

  9. 掌控安全学院SQL注入靶场延时注入(二)

    单引号被转义了 尝试闭合 判断注入 利用盲注即可 or ascii(substr(database(),1,1))=119

  10. uml类图中的+,-,#符号的含义

    描述类的属性的可见性: UML中,可见性分为4级 1.public 公用的 :用+ 前缀表示 ,该属性对所有类可见 2.protected 受保护的:用 # 前缀表示,对该类的子孙可见 3.priva ...